Nói chung, các phương thức dịch thuật lấy một ánh xạ khóa> giá trị và sử dụng khóa để chuyển đổi giá trị đó thành một giá trị. Bây giờ tôi nhận ra hai phương pháp khác nhau để đặt tên cho các khóa dịch thuật của bạn và trong nhóm của tôi, chúng tôi không đi đến sự đồng thuận những gì có vẻ là phương pháp tốt nhất.Cách thực hành tốt nhất cho các giá trị khóa trong các tệp dịch
Phương pháp 1: Sử dụng các từ tiếng Anh đầy đủ hoặc câu:
Name => Name
Please enter your email address => Please enter your email address
Cách 2: Sử dụng các từ khóa mô tả tình hình:
NAME => Name
ENTER_EMAIL => Please enter your email address
Cá nhân tôi thích phương pháp # 1 vì nó trực tiếp cho thấy ý nghĩa của thông điệp. Nếu bản dịch không có, bạn có thể quay trở lại khóa và điều này không gây ra bất kỳ vấn đề nào. Tuy nhiên, phương pháp này cồng kềnh khi một bản dịch thay đổi thường xuyên, bởi vì tất cả các tệp cần được cập nhật. Cũng cho các văn bản dài hơn các phím này trở nên rất lớn. Điều này được giải quyết bằng cách sử dụng các phím như ENTER_EMAIL
, nhưng cách phân đoạn hoàn toàn nằm ngoài ngữ cảnh. Danh sách các phím dịch trừu tượng sẽ rất lớn, bạn cần dữ liệu meta cho tất cả các phím giải thích cách sử dụng và va chạm có thể xảy ra dễ dàng hơn nhiều.
Có cách nào tốt nhất cho cả hai thế giới hoặc phương pháp thứ ba? Làm thế nào để bạn sử dụng các phím dịch trong ứng dụng của bạn? Trong trường hợp của chúng tôi nó là một ứng dụng web dựa trên php, nhưng tôi nghĩ rằng vấn đề trên là đủ chung để nói về i18n nói chung.
Câu hỏi thú vị. Tôi cũng có khuynh hướng ủng hộ số 1, nhưng đi lai khi tình hình đảm bảo. –
Tôi thích số 2 với yêu cầu, tất nhiên, rằng LUÔN LUÔN là một mục nhập tiếng Anh (hoặc ngôn ngữ gốc). Mỗi bản ghi cũng phải bao gồm ngày/giờ cho thời điểm cập nhật lần cuối để chỉ ra các thư đã thay đổi và nhu cầu cập nhật bản dịch. Riêng biệt, một bản ghi phải được lưu trữ cho biết ngôn ngữ gốc là gì. –