Tia*_*ago 32 yaml ruby-on-rails internationalization rails-i18n
我猜测rails将所有解析后的翻译yml文件存储在一种数组/哈希中.有没有办法访问这个?
例如,如果我有一个文件:
en:
test_string: "testing this"
warning: "This is just an example
Run Code Online (Sandbox Code Playgroud)
我可以做一些像I18n.translations_store [:en] [:test_string]的事吗?我可以使用YAML :: load解析yml文件,但在我的情况下,我已经将子文件夹中的yml文件拆分为组织,我很确定rails已经解析了它们.
bal*_*alu 60
你必须在后端调用私有方法.这是您访问的方式:
translations = I18n.backend.send(:translations)
translations[:en][:test_string] # => "testing this"
Run Code Online (Sandbox Code Playgroud)
Eri*_* H. 18
根据8xx8的评论,更简单的版本:
I18n.t(:foo)
I18n.backend.send(:translations)[:en][:test_string]
Run Code Online (Sandbox Code Playgroud)
是
I18n.t(".")[:test_string]
Run Code Online (Sandbox Code Playgroud)
这减轻了必须预加载翻译或指定语言环境.
| 归档时间: |
|
| 查看次数: |
17327 次 |
| 最近记录: |