[英]i18n-js translations not updating with additional translations in .yml
[英]rails javascript i18n specific yml using i18n-js plugin
我的問題是,是否仍然需要配置i18n-js,以便javascript僅查找一個特定的.yml文件,而不是全部。 我按照下面的鏈接中的示例進行操作,並讓javascript查找正確的鍵;但是,當我查看此插件在inspect元素中生成的translation.js時,將顯示所有翻譯鍵。 我們擔心隨着我們的應用程序的增長,這將成為一個問題,因為javascript只需要知道它所需的翻譯密鑰即可。 我當時想只用config / locales / en / javascript.yml在此處放置javascript的所有翻譯。
遵循示例
https://github.com/fnando/i18n-js
http://blog.10to1.be/rails/2011/03/22/localizing-javascript-in-your-rails-app/
跑
rake i18n:js:setup
的application.js
//= require i18n
//= require i18n/translations
application.html.haml
= javascript_include_tag 'translation'
目錄
|config
|-locales
|--en
|---en.yml
|---javascript.yml <------ that's what I want and the js only look at this one2
當前沒有辦法通過簡單的配置來做到這一點。
i18n-js
與任何YML翻譯文件或翻譯文件夾(例如Rails的默認config/locales
)無關。 它只是要求i18n
gem(Rails附帶)來檢索所有可用的翻譯,然后將它們導出為JS格式。
但是,您可以定義一個自定義的rails環境,例如js_i18n
,在其中您可以覆蓋默認的i18n加載路徑,如下所示:
# config/environments/js_i18n.rb
# code similar to the rest of your config files - you could copy `development.rb`
# ...
config.i18n.load_path = Dir[Rails.root.join('config', 'locales', 'js', '*.{rb,yml}').to_s]
然后使用此環境將僅在config/locales/js
下加載YML / Ruby文件以運行您喜歡的任何任務,例如:
RAILS_ENV=js_i18n rake i18n:js:export
根據文檔,您可以指定一個特定的密鑰。 我在更新translations.js文件時遇到問題,因此無法驗證它是否確實有效,但是文檔中指出:
內部config / i18n-js.yml
translations:
- file: "app/assets/javascripts/application/i18n/translations.js"
only: '*.js*'
內部en.yml
js:
posts:
select2:
placeholder: 'Please, select tags'
no-matches: 'No tags found'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.