Rails: 有没有办法将名称与每个语言环境相关联?

Rails: Is there a way to associate a name with each locale?

目前我有两种语言:英语和希腊语 (:en & :el)。

我正在使用全球化 gem。

有没有办法让我把它们放在一个循环中,然后提取每种语言的名称?

例如有没有类似下面的东西:

I18n.locale.Name_of_the_locale

如果是,我declare/change在哪里?

一个解决方案是在 en.ymlgr.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) }