2010-03-24 6 views
17

Tôi có nên sử dụng ISO 639-1 (viết tắt 2 chữ cái) hoặc ISO 639-2 (3 chữ cái abbrv) để lưu trữ mã ngôn ngữ của người dùng không? Cả hai đều là tiêu chuẩn chính thức, nhưng đó là tiêu chuẩn thực tế trong cộng đồng phát triển? Tôi nghĩ rằng ISO 639-1 sẽ dễ nhớ hơn và có lẽ là phổ biến hơn vì lý do đó, nhưng đó chỉ là một phỏng đoán.Tôi nên sử dụng định dạng ISO nào để lưu trữ mã ngôn ngữ của người dùng?

Trang web tôi đang xây dựng sẽ có một trang web riêng biệt cho Hoa Kỳ, Brazil, Nga, Trung Quốc, & Vương quốc Anh.

http://en.wikipedia.org/wiki/ISO_639

+3

Đừng nhầm lẫn giữa "ngôn ngữ" và "vị trí địa lý". – Quentin

+0

Tôi tin rằng chúng tôi chỉ tạo bản dịch cho ngôn ngữ nói phổ biến nhất ở mỗi quốc gia đó. Tôi cần đảm bảo rằng tôi đang sử dụng đúng mã ngôn ngữ, vì nó sẽ ảnh hưởng đến tên tệp bản dịch. –

+2

Bạn nên sử dụng: 'en',' pt', 'ru',' zh', 'mã en-gb' và đừng quên kiểm tra câu trả lời của tôi để được giải thích đầy đủ .. – sorin

Trả lời

19

Bạn nên sử dụng IETF thẻ ngôn ngữ vì chúng đã được sử dụng cho HTTP/HTML/XML và nhiều công nghệ khác. Chúng dựa trên một số tiêu chuẩn bao gồm cả bộ sưu tập ISO-639 (có ngôn ngữ, khu vực và lựa chọn văn hóa không đơn giản như vậy để xác định).

Tôi đã viết một bài viết chi tiết hơn về số proper language code selection and usage. Ý tưởng là sử dụng các mã ISO-639-1 đơn giản/ngắn hơn và chỉ định rõ hơn cho các trường hợp đặc biệt. Bên trong bài viết có các mã cho ~ 30 ngôn ngữ được sử dụng nhiều nhất với lý do tại sao tôi xem xét một thay thế tốt hơn so với một ngôn ngữ khác.

Trong trường hợp bạn muốn bỏ qua việc đọc toàn bộ bài viết ở đây là một danh sách ngắn các mã ngôn ngữ (không nên nhầm lẫn với mã quốc gia): ar, cs, da, de, el, en, en-gb, es, fr, fi, he, hu, it, ja, ko, nb, nl, pl, pt, pt-pt, ro, ru, sv, tr, uk, zh, zh-hant

Những điểm sau đây có thể không rõ ràng nhưng cần được lưu trong tâm trí:

  • en được sử dụng cho en-us - tiếng Anh-Mỹ, và cho Anh-Anh được sử dụng en-gb
  • pt được sử dụng cho pt-br, và không pt-pt phù thủy có loa ít hơn nhiều
  • zh được sử dụng thay vì zh-hans, zh-CN ...
  • zh-hant (Trung Quốc Phồn thể) được sử dụng thay cho mã cụ thể hơn như zh-hant-TW hoặc zh-TW

Bạn có thể tìm thêm giải thích bên trong article.

+0

Sorin, cảm ơn vì nguồn tài nguyên tuyệt vời và câu trả lời kỹ lưỡng! –

+1

[Chọn và sử dụng mã ngôn ngữ thích hợp] (http://blog.i18n.ro/using-the-proper-language-codes/) URL đang ném 404. Hãy thử cập nhật hoặc có thông tin liên quan được thêm vào câu trả lời. ** Ps: ** Câu trả lời hay, +1. – Zuul

2

Tôi không phải chuyên gia, nhưng mỗi trang web mà tôi từng thấy sử dụng ISO 639-1, bao gồm các trang web hiện tại tôi đang làm việc trên.

Nó phù hợp với chúng tôi!

+0

+1 Tôi chưa bao giờ thấy 639-2 được sử dụng trong bất kỳ ứng dụng nào. Thật vậy với sự hiện diện của các mã bộ sưu tập như "cpe" bạn có thể gió lên các tài liệu mã hóa được - trong thực tế - có thể đọc được bởi không ai. Và bạn có thực sự mong đợi bao nhiêu tài liệu trong Cree? – msw

1

Tôi đã chỉ từng nhìn thấy mã ngôn ngữ 2 ký tự được sử dụng - vì vậy tôi muốn khuyên bạn nên đi với họ trừ khi bạn công việc liên quan đến việc đào sâu vào ngôn ngữ học theo một cách nào đó. Nếu tất cả những gì bạn đang làm là tùy chỉnh trải nghiệm duyệt web cho toàn thế giới, bạn sẽ không cần tiết mục bổ sung được cung cấp bởi mã gồm 3 ký tự.

1

ISO 639-1 Alpha-2 được sử dụng khá phổ biến.

Chúng được sử dụng ví dụ trong đàm phán nội dung HTTP. Nếu bạn từng tự hỏi làm thế nào một trang web quốc tế có thể tự động hiển thị cho bạn trang chủ của họ bằng ngôn ngữ mẹ đẻ của bạn, đó là cách nó hoạt động. (Mặc dù đôi khi nó hơi khó chịu. Tôi, ví dụ, thường được hiển thị trang chủ mặc định của Apache bằng tiếng Đức, bởi vì quản trị viên web đã bật đàm phán nội dung, nhưng chỉ đặt nội dung cho tiếng Anh.)

Hầu hết các trình duyệt web đều sử dụng chúng trực tiếp hộp thoại cài đặt của họ.

Hầu hết các hệ điều hành sử dụng chúng trong hộp thoại cài đặt hoặc tệp cấu hình của chúng.

Wikipedia sử dụng chúng trong tên máy chủ của chúng cho các phiên bản ngôn ngữ khác nhau.

Nói cách khác: nếu người dùng của bạn không phải là người nói tiếng Anh bản ngữ, họ có thể sẽ gặp phải họ khi cấu hình phần mềm của họ, bởi vì nếu không họ sẽ không thể sử dụng máy tính của họ.

Các thành viên khác trong gia đình ISO 639 chủ yếu được các nhà ngôn ngữ học quan tâm. Trừ khi bạn mong đợi chính Chúa Giêsu Kitô (mã ISO 639-2 Alpha-3 arc) để truy cập vào trang web của bạn, hoặc có thể là Klingons (tlh), ISO 639-1 có nhiều ngôn ngữ hơn bạn mong đợi.

+1

Có thể là 639-1 bao gồm tất cả các ngôn ngữ * mang tính thương mại *. Nhưng có hàng ngàn ngôn ngữ không được liệt kê trong danh sách đó, và những ngôn ngữ này có trường học và sách và loa của họ đang trực tuyến. Hãy suy nghĩ kỹ trước khi thêm vào các cuộc đấu tranh của các ngôn ngữ nhỏ bằng cách không cho phép mã của họ khi chúng hiển thị trực tuyến. –

+0

Tôi sẽ không bận tâm với ISO 639-2; về cơ bản nó đã bị thay thế bởi ISO 639-3. –