【问题标题】:Rails: Is there a way to associate a name with each locale?Rails:有没有办法将名称与每个语言环境关联起来?
【发布时间】:2016-07-21 12:19:12
【问题描述】:
我目前有 2 种语言:英语和希腊语 (:en & :el)。
我正在使用 globalize gem。
有没有办法让我把它们放在一个循环中,然后提取每种语言的名称?
例如是否有类似以下内容:
I18n.locale.Name_of_the_locale
如果是,我在哪里声明/更改它?
【问题讨论】:
标签:
ruby-on-rails
ruby
internationalization
locale
rails-i18n
【解决方案1】:
一种解决方案是在您的en.yml 和gr.yml 中创建一个:language_name 密钥:
en:
language_name: English
gr:
language_name: Greek
然后只需致电I18n.t('language_name')。如果您需要同时拥有它们,您仍然可以遍历所有可用的语言环境:
I18n.available_locales.map { |locale| I18n.t('language_name', locale: locale) }