【发布时间】:2015-05-29 07:26:31
【问题描述】:
我目前正在从事一个有 2 个不同本地人 (nl/fr) 的项目。
我们面临这个问题:当我显示 fr/nl 按钮时,如何获取当前页面的翻译 url
我目前正在使用friendly_id 和全球化
我们已经试过了:
= link_to "nl", params.merge(locale: "nl")
= link_to "nl", url_for(:locale => :nl)
两者都可以更改当前语言,但正如我们使用friendly_url一样,当页面以法语加载时(localhost:3000/c/animaux)
我们应该有
localhost:3000/nl/c/dieren
而不是
localhost:3000/nl/c/animaux
我有很多要翻译的链接,所以我希望有一个轨道可以做到这一点。
【问题讨论】:
-
“animaux”是否存储在 slug 列中并来自您的数据库?
-
对不起,我没有仔细阅读这个问题,它不是重复的。
-
是的,它使用 globalize 存储在数据库中:表类别:
name_fr : animaux|name_nl : dieren -
@Thounder :那么您是否在每个语言环境中存储友好 url 的副本?
name_fr和name_nl?如果是这样,它是同一个表还是分贝?您是否对所有此类列都遵循相同的模式?例如description_fr和description_nl? -
@Surya 我正在使用 globalize gem,所以我调用
category.name并根据当前本地接收到category.name_fr或category.name_nl。事实是,当我把链接localhost:3000/c/animaux, local=>nl放在当前本地仍然“fr”
标签: ruby-on-rails ruby friendly-id globalize