Ограничение количества локалей во время рельсов i18n-js - PullRequest
0 голосов
/ 11 апреля 2019

Я работаю над веб-приложением ruby ​​on rails, в котором мы используем rails I18njs gem для переводов js.В моем браузере я видел ключи перевода js всех локалей.Есть ли способ ограничить его только языковым стандартом пользователя и резервным языком.

имя самоцвета: i18n-js

Ответы [ 2 ]

0 голосов
/ 18 апреля 2019

Вы захотите переключиться с загрузки по умолчанию всех переводов в одном translations.js файле на конфигурацию экспорта

Это довольно простая конфигурация, которая будет экспортировать каждый язык в отдельный файл локали:

конфиг / i18n-js.yml

# bake fallbacks into each locale file.
fallbacks: true

# split translations into separate files per-locale
translations:
  - file: "public/javascripts/i18n/%{locale}.js"
  only: '*'

Затем вы можете загрузить только нужный вам язык из макета следующим образом:

приложение / просмотров / макеты / application.html.erb

<%= javascript_include_tag "i18n" %>
<%= javascript_include_tag "i18n/#{I18n.locale}" %>
0 голосов
/ 12 апреля 2019

Если установлено I18n.available_locales (например, в вашем файле Rails config / application.rb), то будут экспортированы только указанные локали.

Установите ваш язык как:

I18n.defaultLocale = "pt-BR";
I18n.locale = "pt-BR";
I18n.currentLocale();
// pt-BR

ПРИМЕЧАНИЕ : теперь вы можете применить свою конфигурацию до загрузки I18n следующим образом:

I18n = {} // You must define this object in top namespace, which should be `window`
I18n.defaultLocale = "pt-BR";
I18n.locale = "pt-BR";

// Load I18n from `i18n.js`, `application.js` or whatever

I18n.currentLocale();
// pt-BR

Проверьте здесь для более подробной информации: https://github.com/fnando/i18n-js

...