Sự khác biệt giữa <html lang = “en”> và <html lang = “en-US”> là gì?


106

Sự khác biệt giữa <html lang="en">và là <html lang="en-US">gì? Những giá trị nào khác có thể theo sau dấu gạch ngang?

Theo w3.org "Mọi mã con gồm hai chữ cái được hiểu là mã quốc gia [ISO3166]." vậy điều đó có nghĩa là bất kỳ giá trị nào được liệt kê dưới mã alpha-2 đều là giá trị được chấp nhận?


Bạn có thể tìm thấy thêm chi tiết trong RFC được liên kết với trong thông số kỹ thuật .
James Allardice

1
bạn quan tâm đến sự khác biệt giữa các trình duyệt hay lý thuyết (đặc điểm kỹ thuật)?
Aprillion

@deathApril cả hai. Ý tôi là điều này bằng cách nào đó giúp trình duyệt hiển thị trang?
Celeritas

Câu trả lời:


130

<html lang="en">
<html lang="en-US">

langThẻ đầu tiên chỉ xác định một mã ngôn ngữ. Mã thứ hai chỉ định mã ngôn ngữ, sau đó là mã quốc gia.

Những giá trị nào khác có thể theo sau dấu gạch ngang? Theo w3.org "Mọi mã con gồm hai chữ cái được hiểu là mã quốc gia [ISO3166]." vậy điều đó có nghĩa là bất kỳ giá trị nào được liệt kê dưới mã alpha-2 đều là giá trị được chấp nhận?

Có, tuy nhiên giá trị có thể có hoặc không có bất kỳ ý nghĩa thực sự nào.

<html lang="en-US">về cơ bản có nghĩa là "trang này theo kiểu tiếng Anh của Hoa Kỳ." Theo cách tương tự, <html lang="en-GB">có nghĩa là "trang này theo kiểu Anh ngữ của Vương quốc Anh."

Nếu bạn thực sự muốn chỉ định một kết hợp không hợp lệ, bạn có thể. Nó sẽ không có nhiều ý nghĩa, nhưng <html lang="en-ES">có giá trị theo đặc điểm kỹ thuật, như tôi hiểu. Tuy nhiên, sự kết hợp ngôn ngữ / quốc gia đó sẽ không hiệu quả vì tiếng Anh không được sử dụng phổ biến ở Tây Ban Nha.

Ý tôi là điều này bằng cách nào đó giúp trình duyệt hiển thị trang?

Nó không giúp trình duyệt hiển thị trang, nhưng nó hữu ích cho các công cụ tìm kiếm, trình đọc màn hình và những thứ khác có thể đọc và cố gắng diễn giải trang, ngoài con người.


31
FWIW, các ngôn ngữ chính thức của Uganda thực sự là tiếng Anh và tiếng Swahili.
Muhammad Alkarouri

34
Ha, điểm tốt. Làm thế nào người Mỹ của tôi. :( Tôi cập nhật các ví dụ để Tây Ban Nha, và đã làm một chút legwork thời gian này để chắc chắn rằng tiếng Anh không phải là ngôn ngữ chính thức ở đó, quá Thanks for the tip..
Jeremy Wiggins

@JeremyWiggins, về 2 dòng cuối cùng trong câu trả lời của bạn, bắt đầu với "nó không giúp ích gì cho trình duyệt ....". Điều gì xảy ra nếu trang web là quốc tế (được quốc tế hóa), thì việc đặt thẻ ngôn ngữ có còn cần thiết không?
Yustme

4
Về hai dòng cuối - nếu trang sử dụng dấu gạch nối từ CSS ( hyphens: auto), thì langthuộc tính là bắt buộc để cho phép trình duyệt chọn bộ quy tắc thích hợp.
RobertT

1
Không chỉ cài đặt ngôn ngữ cho công cụ tìm kiếm hoặc trình đọc màn hình được trợ giúp với cài đặt ngôn ngữ thích hợp mà còn có hiệu ứng đánh máy. Ví dụ, các dấu ngoặc kép đơn giản <q> </q> chỉ được diễn giải đúng cách với cài đặt ngôn ngữ chính xác khác nhau giữa de-DE, de-CH, fr và fr-CH.
theking 2

8

Bạn có thể sử dụng bất kỳ mã quốc gia nào, có, nhưng điều đó không có nghĩa là trình duyệt hoặc phần mềm khác sẽ nhận ra mã đó hoặc làm bất cứ điều gì khác biệt vì mã đó. Ví dụ: trình đọc màn hình có thể xử lý "en-US" và "en-GB" giống nhau nếu chúng chỉ hỗ trợ giọng Mỹ trong tiếng Anh. Tuy nhiên, một phần mềm khác có hai giọng nói riêng biệt có thể điều chỉnh theo mã quốc gia.


Liên kết đã chết, nếu bạn tìm thấy một liên kết thay thế, vui lòng gắn cờ điều này vì sự giảm tốc
Taryn

5

Điều này sẽ hữu ích: http://www.w3.org/International/articles/language-tags/

Quy tắc vàng khi tạo thẻ ngôn ngữ là giữ thẻ càng ngắn càng tốt. Tránh khu vực, tập lệnh hoặc các thẻ phụ khác ngoại trừ trường hợp chúng thêm thông tin phân biệt hữu ích. Ví dụ: sử dụng ja cho tiếng Nhật chứ không phải ja-JP, trừ khi có một lý do cụ thể nào đó mà bạn cần phải nói rằng đây là tiếng Nhật được nói ở Nhật Bản, chứ không phải ở nơi khác.

Danh sách bên dưới hiển thị các loại thẻ phụ khác nhau có sẵn. Chúng tôi sẽ làm việc theo cách của chúng tôi thông qua những điều này và cách chúng được sử dụng trong các phần tiếp theo.

language-extlang-script-region-variant-extension-privateuse


1
Một số ứng dụng phần mềm mặc định sử dụng chính tả và bản địa hóa Hoa Kỳ khi các tùy chọn tiếng Anh chung được chọn, ví dụ: Windows thực hiện điều này cho gói ngôn ngữ tiếng Anh. technet.microsoft.com/en-us/library/cc766191(v=ws.10).aspx Windows (không hữu ích) có một gói ngôn ngữ duy nhất cho một số quốc gia nói nhiều ngôn ngữ, như Hà Lan (tiếng Hà Lan, không phải tiếng Pháp) chưa có bốn ngôn ngữ cho Tây Ban Nha (Catalan, Galicia, Basque, Spanish). Bỉ nhận được số 0, có thể vì nhiều ngôn ngữ quốc gia đều là ngôn ngữ chính ở các quốc gia khác.
Mousey

2

RFC 3066 cung cấp thông tin chi tiết về các giá trị được phép (nhấn mạnh và liên kết được thêm vào):

Tất cả các thẻ phụ gồm 2 chữ cái được hiểu là mã quốc gia ISO 3166 alpha-2 từ [ISO 3166] , hoặc do cơ quan duy trì ISO 3166 hoặc các cơ quan tiêu chuẩn quản lý chỉ định sau đó, biểu thị khu vực liên quan đến biến thể ngôn ngữ này.

Tôi giải thích điều đó có nghĩa là bất kỳ mã 2 chữ cái hợp lệ nào (theo ISO 3166) đều có giá trị như một thẻ phụ. RFC tiếp tục trạng thái:

Các thẻ có thẻ phụ thứ hai từ 3 đến 8 chữ cái có thể được đăng ký với IANA, theo các quy định trong chương 5 của tài liệu này.

Nhân tiện, điều đó trông giống như một lỗi đánh máy, vì chương 3 dường như liên quan đến quá trình đăng ký, không phải chương 5.

Tìm kiếm nhanh sổ đăng ký IANA cho thấy một danh sách rất dài , gồm tất cả các thẻ phụ của ngôn ngữ có sẵn. Đây là một ví dụ từ danh sách (sẽ được sử dụng làm en-scouse):

Loại: biến thể

Thẻ phụ: Scouse

Mô tả: Scouse

Thêm: 2006-09-18

Tiền tố: vi

Bình luận: Phương ngữ tiếng Anh Liverpudlian được gọi là 'Scouse'

tất cả các loại thẻ phụ có sẵn; một cuộn nhanh đã được tiết lộ fr-1694acad(tiếng Pháp thế kỷ 17).


Tính hữu ích của một số thẻ trong số này (tôi muốn nói là phần lớn trong số này), khi nói đến tài liệu được thiết kế để hiển thị trong trình duyệt, bị hạn chế. Đặc tả quốc tế hóa W3C chỉ đơn giản là:

Trình duyệt và các ứng dụng khác có thể sử dụng thông tin về ngôn ngữ của nội dung để cung cấp cho người dùng thông tin thích hợp nhất hoặc để trình bày thông tin cho người dùng theo cách phù hợp nhất. Càng nhiều nội dung được gắn thẻ và gắn thẻ chính xác, các ứng dụng đó càng trở nên hữu ích và có sức lan tỏa.

Tôi đang cố gắng tìm thông tin chi tiết về cách trình duyệt hoạt động khi gặp các thẻ ngôn ngữ khác nhau, nhưng chúng rất có thể sẽ mang lại một số lợi ích cho những người dùng sử dụng trình đọc màn hình, có thể sử dụng thẻ để xác định ngôn ngữ / phương ngữ / giọng trong đó để trình bày nội dung.


0

Lược đồ XML yêu cầu không gian tên xml được khai báo và nhập trước khi sử dụng xml: lang (và các giá trị không gian tên xml khác) RELAX NG thông báo trước không gian tên xml, như trong XML, vì vậy không cần khai báo thêm.


-1

Vâng, câu hỏi đầu tiên là dễ dàng. Có rất nhiều en(tiếng Anh) nhưng (hầu hết) chỉ có một tiếng Anh Mỹ. Người ta sẽ đoán có en-CN, en-GB, en-AU. Đoán thậm chí có thể có tiếng Anh Áo nhưng bạn có thể hơn là có.


6
EN-UK là en-gb ... xem tại đây để có danh sách tốt đẹp của 10 loại tiếng Anh andiamo.co.uk/language-resources/iso-language-codes.aspx
Codemwnci

1
nhưng chỉ có một Zulu! : o)
Codemwnci
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.