2009-03-07 20 views
16

Có ai có bất kỳ đề xuất nào về cách đặt tên các khóa trong các tệp tài nguyên không? Ví dụ: bạn có căn cứ vào tên của khóa trên văn bản cần được bản địa hóa hoặc trên điều khiển sử dụng văn bản không?Các khóa đặt tên trong các tệp tài nguyên thực hành tốt nhất

Giả sử bạn có nút chỉnh sửa trong một số màn hình (một để chỉnh sửa người dùng, một để chỉnh sửa nhóm). Bạn có thể sử dụng các phím sau:

  • editUserButton.label = Chỉnh sửa tài khoản ...
  • editGroupButton.label = Chỉnh sửa nhóm ...

hoặc

  • edituser = Edit Người dùng ...
  • editGroup = Chỉnh sửa nhóm ...

hoặc

  • user.edit = Chỉnh sửa tài khoản ...
  • group.edit = Chỉnh sửa nhóm ...

kế hoạch gì bạn thích và tại sao?

Trả lời

12

Tôi tiền tố chữ cái của tôi bằng cách sử dụng tên lớp hoặc hành động. ví dụ:

PlaceOrder.invalidId=Invalid id for order {0} 
PlaceOrder.success=Your order {0} was successful 
PlaceOrder.fail.visa=Your visa was ... 
PlaceOrder.fail.communications=We could not... 
PlaceOrder.submit=Buy now 

Login=Login 
Login.fail=Your credentials did not... 
Login.alread=You are already logged in

Bằng cách này bạn tránh va chạm:

EditStudent=Edit 
EditClass=Edit 
EditCourse=Edit Course

... và cũng có thể tìm thấy những gì bạn cần dễ dàng hơn.

Một Tôi nhóm Cách thứ nhất là bởi thực thể:

Person.id=# 
Person.name=First name 
Person.surname=Surname

Đây có thể xuất hiện như tiêu đề trên bảng với các đối tượng. Ứng dụng này giúp bạn tiết kiệm trong các trường hợp như sau:

Person.id=# 
Class.id=# 
Course.id=Course Id

Cuối cùng bằng cách cung cấp ngữ cảnh trong các khóa thuộc tính bạn có thể tự lưu bản dịch sai. Ví dụ tôi đã từng có:

no=no

đó đã được sử dụng như một tiêu đề id (#) bảng trên ô trên cùng bên trái, nhưng phiên dịch tiếng Pháp của chúng tôi đã làm điều này cho Pháp:

no=non

... anh nghĩ đó là từ "không" (tiêu cực là có). :)

Tiền tố cuối cùng (nhưng không kém phần quan trọng) với tên lớp sẽ giúp bạn khi bạn muốn sắp xếp lại/đổi tên lớp và cập nhật nhanh các khóa thuộc tính này mà không phải xem các mẫu.

+0

Tôi chưa bao giờ nghĩ đến các phím cơ sở về trường hợp sử dụng. Có vẻ như một cách tiếp cận hợp lý. +1 –

+0

Nó giúp khi bạn có một ứng dụng với hơn 100 lượt truy cập, lượt xem và hành động. Tôi cũng đã cập nhật câu trả lời của mình với nhiều thông tin hơn. – cherouvim

-1

Tôi nghĩ rằng ngay từ đầu, bạn nên sử dụng một số loại tệp XML để lưu trữ loại dữ liệu đó.

Cái gì đó như:

< xml version = "1.0" encoding = "utf-8" standalone = "yes"? >
< xml >
        < nút >
                < chỉnh sửa >
                        < dùng > *** Chỉnh sửa tài khoản *
</user >
                        < nhóm > Chỉnh sửa nhóm </nhóm >
                </chỉnh sửa >
        </nút >
</xml > **

Và sau đó sử dụng một "dịch" Class để có được (và thiết lập/lưu) văn bản.

Cái gì như:

myTranslateClass.load ('translate.xml');
myTranslateClass.get ('button', 'edit', 'user');

Đó là một ví dụ đơn giản.

+0

Các tệp thuộc tính thuận tiện hơn nhiều trong trường hợp của tôi vì chúng tôi đang sử dụng Java và Flex. –

+0

Sử dụng các tệp có cấu trúc không nghiêm ngặt cho loại lưu trữ đó không phải là ý tưởng hay (theo ý kiến ​​của tôi), vì nó hơi dễ bị mất trong dữ liệu được lưu trữ và hơn thế nữa có nhiều vấn đề xung đột. Ngoài ra, XML hoặc JSON được xử lý bởi tất cả các ngôn ngữ, giúp bạn linh hoạt hơn:] –

0

Chúng tôi dựa trên phiên bản tiếng Anh của thuật ngữ. Ví dụ: EditUser Đó là nó có thể dễ dàng đọc được bởi các nhà phát triển của chúng tôi và có thể được tái sử dụng ở nhiều địa điểm mà thuật ngữ được yêu cầu trong suốt ứng dụng.

0

Căn cứ vào văn bản tiếng Anh, nhưng tiền tố có cửa sổ/đối thoại/bạn có từ hoặc cụm từ xuất hiện ở đâu. Ít nhất là khi không gian bố trí bị hạn chế, bạn có thể tránh rơi vào bẫy có chính xác cùng một chuỗi ở mọi nơi: điều này ngăn bạn viết tắt để có bố trí phong nha, đặc biệt là trong các ngôn ngữ polysyllabic như tiếng Phần Lan.

Tất nhiên, bạn vẫn nên cố gắng nhất quán trong việc đặt tên công cụ. Việc tăng số lượng chuỗi cũng sẽ làm tăng chi phí dịch nếu bạn đang thực hiện điều này về mặt thương mại.

Và đừng bỏ qua sự nguy hiểm của các từ đồng nghĩa. Cung cấp ngữ cảnh giúp ngăn chặn điều đó. Đừng sợ làm cho tên tài nguyên dài hơn từ tiếng Anh thực tế, điều này có thể giúp người dịch một cách đáng kể.

0

+1 cho câu trả lời của @ cherouvim, nhưng nó luôn đi kèm tài liệu.

Tài liệu mỗi giá trị (sử dụng bất kỳ cơ chế nhận xét nào được định dạng tệp nguồn tài nguyên hỗ trợ), bao gồm loại dữ liệu của mỗi thông số nếu chuỗi có thể định dạng được. Ví dụ, trình soạn thảo VS cho định dạng .resx cho thấy một trường nhận xét làm cho nó trở nên rất dễ dàng.

Vì vậy, một thông báo như:

Không thể sắp xếp các {0} công việc trước khi {1}.

sẽ được ghi lại như một cái gì đó như:

thông báo lỗi Logged, {0}: tên công việc, {1} ngày/giờ trong định dạng ISO 8601.

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