所以我现在正在本地化一个rails应用程序,我目前只在一个函数中加载一个语言环境文件,不过我想知道如何将当前活动的语言环境存储在变量中并添加而不是基本'en.yml'。这是我目前的代码:
yml ||= YAML.load_file(::Rails.root.join('config', 'locales', 'en.yml'))
@permissions_list ||= yml['en']['permissions']
我试过了:
yml ||= YAML.load_file(::Rails.root.join('config', 'locales', 'I18n.locale'))
但没有运气
答案 0 :(得分:1)
你不需要。
Rails会自动加载当前语言环境的文件。例如,如果语言环境为compareArrays
,则会加载rails:
de
您可以通过更改config/locales/de.yml
从嵌套文件夹加载它。见Rails Internationalization (I18n) API。
但是要回答你原来的问题,你可以在Ruby中构建一个动态字符串:
config.i18n.load_path