在Ruby on Rails中处理地理区域设置的正确方法是什么?

pup*_*eno 5 localization ruby-on-rails internationalization

我很惊讶地看到Ruby on Rails的i18n不能正确支持en-GB,en-US,en-AU等语言环境.环顾四周看来,这个任务似乎留给了第三方库和代码.我四处搜索,发现了rails-i18n-translation-inheritance-helper,但它看起来并不活跃.没有人在本地化他们的Rails应用程序,还是有另一种我缺少的解决方案?

Hol*_*ust 8

您可以使用类似的东西将当前区域设置设置为您想要的任何内容

I18n.locale = 'en_US'
Run Code Online (Sandbox Code Playgroud)

为避免重复类似语言环境的大部分内容,您可以在i18n初始化程序中设置适当的回退,如下所示:

config.i18n.default_locale = 'en'
config.i18n.fallbacks = {
  'en_US' => 'en',
  'en_GB' => 'en',
  'de_DE' => 'de',
  'de'    => 'en'
}
Run Code Online (Sandbox Code Playgroud)

现在你只需要创建所有不同的本地化文件,幸运的是,一切都是默认的i18n gem的一部分.