1

将 I18n 用于 Ruby on Rails 4.0.0 我需要一个英语数据库条目,即使我目前在本地 =>“de”。代码是

= link_to tag.name, :controller => "images", :action => t("#{tag.name}")

对于 :action 我需要英文标签名称,无论我目前使用哪种语言,但仍然是直接在 link_to 后面的德语 tag.name (用于链接的名称)。所以像:

= link_to tag.name, :controller => "images", :action => t("#{tag.name}", :locale => :en)

但这不起作用。

我的模型标签已经有两种语言,但是当我目前在“德”语言环境中时,它总是给我标签的德语名称作为操作,但与当前语言环境无关,我总是需要英文条目。

class Tag < ActiveRecord::Base
  attr_accessible
    :name, :id, :content

  translates :name, :content
end
4

1 回答 1

2

看来您正在使用Globalizegem。它具有with_locale()可用于为特定代码段设置独立语言环境的方法。

= link_to tag.name, controller: "images", action: Globalize.with_locale(:en) { tag.name }

Rails I18n 有同样的方法。这也将起作用:

= link_to tag.name, controller: "images", action: I18n.with_locale(:en) { tag.name }
于 2017-01-11T22:19:05.160 回答