2012-06-20 3 views
5

Что лучше всего, организовать ключи ресурсов i18n по компоненту?Каков наилучший способ организовать ключи ключей i18n?

FILE_TAB_TITLE: 'Files' 
FILE_FIELD_TITLE: 'File' 
GROUP_TAB_TITLE: 'Group' 
GROUP_FIELD_TITLE: 'Group' 
SAVE_MENU_ITEM: 'Save' 
SAVE_AS_MENU_ITEM: 'Save as...' 
SAVE_BUTTON:  'Save' 

Или что они означают?

FILE: 'File' 
FILES: 'Files' 
GROUP: 'Group' 
SAVE: 'Save' 
SAVE_AS: 'Save as...' 

ответ

2

Я думаю, что это соглашение больше, чем правило, поэтому ответ может быть «все, что кажется более логичным».

Я начал создавать свои ключи i18n ресурсов, и я принял следующее соглашение:

  1. заголовок с «названием раздела», начиная с №
  2. Dot разделены иерархические обозначениями
  3. ключи организованы в алфавитном порядке для облегчения доступа

Пример:

#File access 
file.field.title = File 
file.field.subtitle = Click here 
file.tab.title = Files 

#User 
user.name = First and last name 
user.password = Password 
user.username = Username 
2

Я использую короткие, верхние регистры английских фраз. Например (JavaScript):

SAVE: "Save", 
LOAD: "Load", 
PLEASE_SELECT_ITEM: "Please select an item.", 
PRESS_NEXT_TO_PROCEED: "Please press the Next button to proceed." 

Таким образом, разработчик не должен искать содержание маркера, чтобы понять, что это на самом деле означает.

У меня нет избыточных записей для элементов, появляющихся в разных местах (например, как «Сохранить», появляющихся в меню по сравнению с кнопкой и т. Д.), Если они не отображаются в разных модулях, которые могут быть переведены отдельно в .

Кроме того, токены заголовка/заголовка, подсказки и сообщения об ошибках организованы в разные файлы.

1

устраивает шахту по функции в иерархии, например,

ui: 
    choose: choose... 
    save: save 
    cancel: cancel 
    preview: preview 

season: 
    summer: summer 
    autumn: autumn 
    winter: winter 
    spring: spring 

people: !!pl 
    0: no people 
    1: one person 
    n: "%1 people" 

is_are_people: !!pl 
    0: are no people 
    1: is one person 
    n: "are %1 people" 

, а затем в моих помощниках, маршрутах или Haml файлов (я использую Синатр в основном) я могу сослаться на Unicode::capitalize(t.ui.save) в кнопке моей «Сохранить» и "There #{t.is_are_people some_people.count}." в моей рубрике и т. Д.

Смежные вопросы