2012-06-20 29 views
5

Điều gì là tốt nhất, tổ chức các khóa tài nguyên i18n theo thành phần?Cách tốt nhất để tổ chức các khóa tài nguyên i18n là gì?

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' 

Hoặc theo ý nghĩa của chúng?

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

Trả lời

2

Tôi nghĩ đây là quy ước hơn quy tắc, vì vậy câu trả lời có thể là "bất kỳ điều gì có vẻ logic hơn".

Tôi đã bắt đầu để tạo ra phím nguồn i18n của tôi, và tôi đã áp dụng quy ước sau:

  1. header với một "phần tiêu đề", bắt đầu với #
  2. Dot tách ký hiệu thứ bậc
  3. phím tổ chức theo thứ tự abc để truy cập dễ dàng hơn

Ví dụ:

#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

Tôi sử dụng các phiên bản chữ hoa, chữ thường của cụm từ tiếng Anh. Ví dụ: (JavaScript):

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

Bằng cách này, nhà phát triển không phải tra cứu nội dung của mã thông báo để hiểu ý nghĩa của nó.

Tôi không có mục nhập dư thừa cho các mục xuất hiện ở các vị trí khác nhau (ví dụ như "Lưu" xuất hiện trong trình đơn so với nút vv ..) trừ khi chúng xuất hiện trong các mô-đun khác nhau mà có khả năng được dịch riêng lẻ.

Ngoài ra, thẻ tiêu đề/chú thích, lời nhắc và thông báo lỗi được sắp xếp thành các tệp khác nhau.

1

tôi sắp xếp của tôi bằng chức năng trong một hệ thống phân cấp, chẳng hạn như

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" 

và sau đó trong những người giúp đỡ tôi, các tuyến đường hoặc các tập tin Haml (tôi sử dụng Sinatra chủ yếu) Tôi có thể tham khảo Unicode::capitalize(t.ui.save) nút 'Lưu' của tôi và "There #{t.is_are_people some_people.count}." trong tiêu đề của tôi, v.v.

Các vấn đề liên quan