指
[1] 这个Rails 国际化:i18n 查找嵌套的语言环境目录
[2] 这个http://guides.rubyonrails.org/i18n.html#organization-of-locale-files
其中导轨仅显示您如何构建它,但之后它会中断。它没有提及如何使用给定的文件结构进行查找
所以我想知道是否无论如何都可以在文件结构中使用惰性外观
考虑以下目录
config/locales app/views
|locales |views
|-defaults |-fruits
|--en.yml |--apple
|--views |--banana
|---fruits |-meats
|----en.yml |--chicken
|---meat |--beef
|----en.yml
配置/应用程序.rb
config.i18n.load_path += Dir["#{Rails.root.to_s}/config/locales/**/**/*.{rb,yml}"]
.yml
locales/views/fruits/en.yml| locales/views/meats/en.yml
|
en: | en:
produce: "Produce" | meat_section: "Meat Section" <--- shared key within folder
|
apple: | chicken:
red: "Red" | white_meat: "White Meat"
|
banana: | beef:
yellow: "Yellow" | red_meat: "Red Meat"
locales/defaults/en.yml
en:
repeat_key:
market: "Market" <------- shared key across folders
有什么办法可以做到这一点?或任何接近的东西?
在意见/水果/apple.html.haml
= t('.red') <------- unique key in apple
= t('produce') <------- shared key within fruits folder
= t('repeat_key.maket') <------- repeat key across fruits and meat folders
我知道下面的代码可以工作,但是由于我在苹果目录中,所以必须有一种方法可以使用惰性查找来查找唯一键。
在意见/水果/apple.html.haml
= t('apple.red') <------- unique key in apple
= t('produce') <------- shared key within fruits folder
= t('repeat_key.maket') <------- repeat key across fruits and meat folders
我认为,如果这是可能的。它可以最大限度地减少重复键,如果我们需要添加额外的别名,我们可以在必要时添加它,因为我相信大多数翻译团队按单词收费