【问题标题】:RAILS - How to fix I18n NoTranslationAvailable when using ISO3166::CountryRAILS - 使用 ISO3166::Country 时如何修复 I18n NoTranslationAvailable
【发布时间】:2019-04-03 07:16:21
【问题描述】:

我在一个项目中使用https://rubygems.org/gems/countries 并尝试使用语言环境字符串获取所有国家/地区名称进行翻译。

语言环境 'DE''NO' 或其他语言来自 Google OCR API。 gem 还有一个方法:ISO3166::Country.translations,它将返回所有语言环境字符串和匹配的国家,例如:"AL"=>"Albania"

在这个列表中,还有翻译"NO"=>"Norway",但是使用ISO3166::Country.all_translated('NO')时,会抛出错误:I18nData::NoTranslationAvailable: I18nData::NoTranslationAvailable -- countries-NO

是否有任何解决方法或修复方法可以使用所有语言并获得所有翻译?或者至少挪威怎么不在当地?我认为 gem 使用错误中提到的 I18n,并且 :no 语言环境在 I18n 中无效:

I18n.locale = :no => I18n::InvalidLocale: :no is not a valid locale

I18n.locale = :de => :de

【问题讨论】:

标签: ruby-on-rails internationalization rubygems rails-i18n countries


【解决方案1】:

挪威 i18n 语言环境是 :nn (Nynorsk) 和 :nb (Bokmål),而不是 :no

i18n 使用countries-NN.txtcountries-NB.txt

所以需要使用ISO3166::Country.all_translated('NN')ISO3166::Country.all_translated('NB')

【讨论】:

    猜你喜欢
    • 2019-02-11
    • 1970-01-01
    • 2019-07-19
    • 2016-12-07
    • 2012-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-18
    相关资源
    最近更新 更多