Hướng dẫn i18n states countrycode php - i18n quốc gia mã php
Quốc tế hóa (I18N) đề cập đến quá trình thiết kế một ứng dụng phần mềm để nó có thể được điều chỉnh theo các ngôn ngữ và khu vực khác nhau mà không cần thay đổi kỹ thuật. Đối với các ứng dụng web, điều này có tầm quan trọng đặc biệt vì người dùng tiềm năng có thể trên toàn thế giới. YII cung cấp một phổ đầy đủ các tính năng i18N hỗ trợ dịch tin nhắn, xem dịch, định dạng ngày và số. Show
Địa phương và ngôn ngữ ¶Địa phương ¶Locale là một tập hợp các tham số xác định ngôn ngữ, quốc gia của người dùng và bất kỳ tùy chọn biến thể đặc biệt nào mà người dùng muốn thấy trong giao diện người dùng của họ. Nó thường được xác định bởi một ID bao gồm ID ngôn ngữ và ID vùng. Ví dụ, ID 3 là viết tắt của địa phương của "Tiếng Anh và Hoa Kỳ".Vì lý do nhất quán, tất cả các ID địa phương được sử dụng trong các ứng dụng YII nên được chuẩn hóa theo định dạng của 4, trong đó 5 là một ngôn ngữ viết thường hai hoặc ba chữ cái theo ISO-639 và 6 là mã quốc gia hai chữ cái theo ISO -3166. Thông tin chi tiết về Locale có thể được tìm thấy trong tài liệu của dự án ICU.Ngôn ngữ ¶Trong YII, chúng ta thường sử dụng thuật ngữ "ngôn ngữ" để chỉ một địa điểm. Một ứng dụng YII sử dụng hai loại ngôn ngữ:
Cái gọi là dịch vụ dịch tin nhắn chủ yếu dịch một tin nhắn văn bản từ ngôn ngữ nguồn sang ngôn ngữ đích. Cấu hình ¶Bạn có thể định cấu hình các ngôn ngữ ứng dụng trong "Cấu hình ứng dụng" như sau:
Giá trị mặc định cho ngôn ngữ nguồn là 3, có nghĩa là tiếng Anh Hoa Kỳ. Bạn nên giữ giá trị mặc định này không thay đổi. Thông thường việc tìm những người có thể dịch từ "tiếng Anh sang các ngôn ngữ khác" dễ dàng hơn nhiều so với "không phải tiếng Anh sang không tiếng Anh".recommended that you keep this default value unchanged. Usually it is much easier to find people who can translate from "English to other languages" than from "non-English to non-English".Bạn thường cần đặt ngôn ngữ đích một cách linh hoạt dựa trên các yếu tố khác nhau, chẳng hạn như sở thích ngôn ngữ của người dùng cuối. Thay vì định cấu hình nó trong cấu hình ứng dụng, bạn có thể sử dụng câu lệnh sau để thay đổi ngôn ngữ đích:
Dịch tin ¶Từ ngôn ngữ nguồn đến ngôn ngữ đích ¶Dịch vụ dịch tin nhắn dịch một tin nhắn văn bản từ một ngôn ngữ (thường là ngôn ngữ nguồn) sang ngôn ngữ khác (thường là ngôn ngữ đích). Nó thực hiện bản dịch bằng cách tìm kiếm thông báo sẽ được dịch trong một nguồn tin nhắn lưu trữ các tin nhắn gốc và các tin nhắn được dịch. Nếu thông báo được tìm thấy, tin nhắn được dịch tương ứng sẽ được trả về; Nếu không, tin nhắn ban đầu sẽ được trả lại chưa được dịch. Cách thực hiện ¶Để sử dụng dịch vụ dịch tin nhắn, bạn chủ yếu cần thực hiện công việc sau:
1. Bọc một tin nhắn văn bản ¶Phương pháp yii :: t () có thể được sử dụng như sau,
Trong đó tham số thứ hai đề cập đến thông báo văn bản sẽ được dịch, trong khi tham số đầu tiên đề cập đến tên của danh mục được sử dụng để phân loại thông báo. 2. Định cấu hình một hoặc nhiều nguồn tin nhắn ¶Phương thức YII :: T () sẽ gọi phương thức thành phần ứng dụng 8 9 để thực hiện công việc dịch thực tế. Thành phần có thể được cấu hình trong cấu hình ứng dụng như sau,
Trong mã trên, một nguồn tin nhắn được hỗ trợ bởi yii \ i18n \ phpmessagesource đang được cấu hình. Thể loại Wildcards với biểu tượng $username = 'Alexander';
// display a translated message with username being "Alexander"
echo \Yii::t('app', 'Hello, {username}!', [
'username' => $username,
]);
$username = 'Qiang';
// display a translated message with username being "Qiang"
echo \Yii::t('app', 'Hello, {username}!', [
'username' => $username,
]);
|