Сначала подтвердите, что я не собираюсь предоставлять что-либо в базу данных на нескольких языках.Я просто говорю о тексте на странице.
Я немного озадачен заявлением в Руководство по Rails :
Библиотека i18n занимаетпрагматический подход к ключам локали (после некоторого обсуждения), включая только часть локали («язык»), например: en,: pl, а не часть региона, например: en-US или: en-GB, которые традиционно используются дляразделяя «языки» и «региональные настройки» или «диалекты».Во многих международных приложениях используется только языковой элемент локали, такой как: cs,: th или: es (для чешского, тайского и испанского языков).Однако существуют также региональные различия в разных языковых группах, которые могут быть важными.Например, в локали: en-US у вас будет символ $ в качестве символа валюты, а в: en-GB - £.Ничто не мешает вам разделить региональные и другие настройки таким образом: вам просто нужно указать полную локализацию «Английский - Великобритания» в словаре: en-GB.
Предположим, я хотел бы получитьполный набор английских локализаций, который содержит часть США и часть ГБ.
Так что мне нужно иметь en.yml
, en-US.yml
и en-GB.yml
, 3 файла в папке локали,
-- Rails Root
|-- config
|-- locale
|
|-- en.yml
|-- en-US.yml
|-- en-GB.yml
и когда я установлю I18n.locale = 'en-US'
, он будет использовать перевод текста в en-US.yml
.Это рекомендуемый способ сделать I18n
в рельсах 3?
И хорошо ли, что я сохраняю идентичную часть в en.yml
(как в понедельник вторник, они одинаковы в США и Великобритании) и сохраняюразные вещи (что-то вроде знака валюты) в отдельных файлах en-US.yml
и en-GB.yml
?Возможно ли, чтобы рельсы могли автоматически находить идентичные детали в en.yml
?Как я проверял, он не поддерживается из коробки