Tag: 国际化

rails中的human_attribute_name和转换文件

我正在运行一个带有英语和西class牙语翻译文件的站点,默认为英语。 使用如下翻译: en: tenants: about: “About” 至 es: tenants: about: “Acera” 运用 t “tenants.about” 工作没有问题,并在适当时从en.yml和es.yml文件中正确读取。 但是,在尝试使用human_attribute_name属性从spanish es.yml文件的另一部分提取模型属性时,不会读取值。 所以像 Job.human_attribute_name(:title) 返回“title”而不是“Título”。 具有人性化属性的相同es.yml文件的部分如下: es: tenants: about: “Acerca” activerecord: attributes: job: title: “Título de la oferta de trabajo” location: “Localización de la oferta de trabajo” job_type: “Tipo de trabajo” description: “Descripción” 任何见解将不胜感激。

Rails国际化不在生产模式下工作

我有一个非AR模型,我用它来表单/组合对象。 有很多输入字段,我收集这些字段是为了在AR事务中进行一些数据操作。 我使用I18n进行国际化。 阳明: pl: activemodel: attributes: catalog/checkout: name: Imię 形成: = f.input :name, required: true, label: I18n.t(:’.activemodel.attributes.catalog/checkout.name’) 问题是在开发和生产模式(本地)中我看到输入具有从config/locales获取的适当标签,但在生产服务器上它表示 “translation missing: pl.activemodel.attributes.catalog/checkout.name” 它只发生在这种非AR模型中 – 在其他任何地方I18n工作得非常好。 有什么想法吗? 编辑 登录到生产服务器的控制台: I18n.reload! #=> nil I18n.t(:’.activemodel’).keys #=> [:errors, :attributes] # attributes is what wee need 但 I18n.t(:’.activemodel.attributes’) #=> “translation missing: pl.activemodel.attributes” WTH?… 编辑#2 我必须注意到,有 pl: activemodel: attributes: catalog/checkout: errors: […]

从rails项目中提取I18n转换键

是否有一些gem或工具可用于解析我的代码并将I18n密钥提取到yml文件? 所以,如果我在代码中: 它会添加到yml文件中 homepage: header: “Cool website” GetText可以做到,但对于我的项目,我们现在使用默认的rails设置。 当我需要新的翻译密钥时,我需要手动更新yml文件,这让我很烦恼。

Ruby on Rails – 在包含I18n的link_to调用中嵌入了额外的HTML

我试图在link_to调用中嵌入额外的HTML ,如此线程中所示在link_to调用中嵌入其他HTML 但是,我还想使用I18n。 所以不是这样的: <%= link_to ' Show’.html_safe, exercise_path(exercise), :class => ‘btn btn-small’ %> 我想用t(:show)或I18n.t(:show)代替上面例子中的硬编码Show 。 但是,我无法弄清楚正确的语法。 任何帮助将不胜感激。

Rails:Phusion Passenger和I18n.locale应该如何表现?

我在Passenger / REE上运行了一个Rails 2.2 Web应用程序 我在config/environment.rb设置了默认语言config/environment.rb config.i18n.default_locale = ‘en-GB’ 第一个请求似乎没有在I18n.locale设置区域设置 如果我访问一个带有before_filter的页面,该页面在每次后续访问任何控制器时设置I18n.locale,即使它没有相同的before_filter设置,I18n.locale也会获得I18n.locale,无论设置如何,例如, en-US 。 在具有相同代码的Mongrel上,每个请求都获得en-GB的语言环境,默认情况下,直到由before_filter显式设置。 如果这是正常的乘客行为,任何帮助升值锻炼。

haml,link_to helper和I18n在同一个句子中

这是我想要获得的标记: View more clinic information including physicians, locations, directions, documents, and more. 我正在使用haml,yaml和Rails(哦,我的!)。 为了通过本地化做到这一点,我必须有这个yaml: en: view_more: View more link: clinic information details: including physicians, locations, directions, documents, and more. 把我的haml放在3行上,如: %p = I18n.t(‘view_more’) = link_to I18n.t(‘link’), clinic = I18n.t(‘details’) 似乎必须有一个更好的方法。 第一个问题是,这对于具有不同语法的语言不起作用,其中由于语法词序,链接可能出现在句子的末尾。 有没有办法将链接作为参数传递? 但是我必须在yaml中插入它,并且可能在那里放置标记? 这似乎也不是很好。 有一种优雅的方式可以做到这一点,我错过了吗?

Rails国际化:i18n查找嵌套的语言环境目录

我正在尝试使用嵌套文件结构组织我的本地化文件,以便更容易查找。 我跟着 在rails app中组织Locale文件 你如何在Rails中构建i18n yaml文件? 但是我的翻译版本丢失了: en.view.fruits.apple 。 我认为Rails试图只查找locales/en.yml文件中的翻译但不locales/en.yml子目录,尽管我已将它们包括在内。 配置/ application.rb中: config.i18n.load_path += Dir[“#{Rails.root.to_s}/config/locales/**/*.{rb,yml}”] 我的语言环境目录: |locales |-en.yml |-views |–en.yml 区域设置/查看/ en.yml: en: fruits: apple: “apple” 意见/ fruit.html.haml: = I18n.t(‘views.fruits.apple’)

设计i18n的属性?

如何翻译Devise模型的属性? 例如session.email或session.remember_me 。 两个层次结构 de: devise: sessions: email: “E-Mail” 和 de: activerecord: attributes: session: email: “E-Mail” 不工作。 什么是正确的标识符?

Rails:更改区域设置和保留页面参数

我有一个导航栏,其中包含指向不同语言的链接: 问题是当用户尝试在包含URL中的其他参数的页面上切换语言时。 此时更改语言环境会重新加载页面并删除所有其他参数。 那么,如何将所有参数从当前页面传递到语言环境切换链接? 例如,何时 /page/new?param1=1&param2=2 打开,用户切换语言环境, /page/new?locale=en 打开,两个附加参数都从url中删除。

如何在Rails 3.2中翻译ActiveRecord属性名称?

我的模型(用户)中有以下validation: validates :first_name,:length => {:minimum => 2,:maximum => 50},:format => { :with => /[a-zA-Z]+/ } 我的yml语言环境文件中有以下内容: attributes: first_name: too_short: “First name is too short” too_long: “First name is too long” invalid: “First name is not valid” 现在,如果我启动rails console ,并编写以下内容: a = User.new a.valid? a.errors.full_messages 我会看到以下错误: [“First name First name is too short”, “First name First […]