Hướng dẫn how do i display other languages in html? - làm cách nào để hiển thị các ngôn ngữ khác trong html?

Câu hỏi

Làm thế nào tôi nên đặt ngôn ngữ của nội dung trong trang HTML của tôi?

Trang này mô tả cách đánh dấu một trang HTML để nó cung cấp thông tin về ngôn ngữ của trang. Nó bắt đầu với một bản tóm tắt tổng thể, sau đó cung cấp chi tiết bổ sung trong các phần tiếp theo.

Câu trả lời nhanh

Luôn sử dụng thuộc tính ngôn ngữ trên thẻ html để khai báo ngôn ngữ mặc định của văn bản trong trang. Điều này được kế thừa bởi tất cả các yếu tố khác. Ví dụ:

<html lang="en">

Lưu ý rằng bạn nên sử dụng phần tử html thay vì phần tử body, vì phần tử body không bao gồm văn bản bên trong phần tử head của tài liệu.

Khi trang chứa nội dung bằng ngôn ngữ khác, hãy thêm thuộc tính ngôn ngữ vào một phần tử xung quanh nội dung đó. Điều này cho phép bạn tạo kiểu hoặc xử lý nó khác nhau. Ví dụ:

<p>The title is "<span lang="fr">Le Bon Usage</span>".

Sử dụng thuộc tính lang cho các trang được phục vụ như HTML. .

Sử dụng thẻ ngôn ngữ từ sổ đăng ký phụ ngôn ngữ IANA. Bạn có thể tìm thấy các mục con bằng cách sử dụng công cụ tra cứu phụ không chính thức. (hơn)

Trong một số phần của mã của bạn, bạn có thể có một vấn đề. Nếu bạn có văn bản đa ngôn ngữ trong phần tử title, bạn không thể đánh dấu các phần của văn bản cho các ngôn ngữ khác nhau vì thuộc tính title chỉ cho phép các ký tự - không đánh dấu. Điều tương tự cũng xảy ra đối với nhiều ngôn ngữ trong các giá trị thuộc tính. Không có giải pháp tốt cho điều này vào lúc này.

Sử dụng các phần tử lồng nhau để chăm sóc các giá trị thuộc tính và nội dung trên cùng một yếu tố trong các ngôn ngữ khác nhau. (hơn)

Bạn không bao giờ nên sử dụng phần tử <html lang="en">0 với thuộc tính <html lang="en">1 được đặt thành <html lang="en">2 để chỉ ra ngôn ngữ của một trang, nhưng trong một số trường hợp nhất định, bạn có thể muốn phục vụ thông tin ngôn ngữ với tiêu đề HTTP để chỉ ra đối tượng dự định của trang của bạn. Cho dù bạn có sử dụng tiêu đề HTTP hay không, bạn nên luôn luôn khai báo ngôn ngữ của văn bản trong một trang bằng thuộc tính ngôn ngữ trên thẻ html. Để biết thêm thông tin, hãy xem bài viết đồng hành, tiêu đề HTTP, các yếu tố <html lang="en">0 và thông tin ngôn ngữ.

Thông tin chi tiết

Phần này cung cấp thông tin chi tiết hơn về nhiều chủ đề liên quan đến việc khai báo ngôn ngữ trong HTML.

Điều gì xảy ra nếu nội dung phần tử và giá trị thuộc tính có trong các ngôn ngữ khác nhau?

Thỉnh thoảng ngôn ngữ của văn bản trong một thuộc tính và nội dung phần tử bằng các ngôn ngữ khác nhau. Ví dụ, ở góc trên cùng bên phải của bài viết này có các liên kết đến các phiên bản dịch của trang này. Văn bản liên kết hiển thị ngôn ngữ của trang đích bằng ngôn ngữ của trang đích, nhưng thuộc tính title được liên kết chứa một gợi ý trong ngôn ngữ của trang hiện tại:

Hướng dẫn how do i display other languages in html? - làm cách nào để hiển thị các ngôn ngữ khác trong html?

Nếu mã của bạn trông như sau, các thuộc tính ngôn ngữ thực sự sẽ chỉ ra rằng không chỉ nội dung mà cả văn bản thuộc tính title là bằng tiếng Tây Ban Nha. Điều này rõ ràng là không chính xác.

Hướng dẫn how do i display other languages in html? - làm cách nào để hiển thị các ngôn ngữ khác trong html?
Mã xấu. Đừng sao chép!

<html lang="en">7

Thay vào đó, hãy di chuyển thuộc tính chứa văn bản bằng một ngôn ngữ khác sang một phần tử khác, như được hiển thị trong ví dụ này, trong đó phần tử <html lang="en">8 kế thừa cài đặt <html lang="en">9 mặc định của phần tử html.

html1

Điều gì sẽ xảy ra nếu không có yếu tố để treo thuộc tính của bạn trên?

Nếu bạn muốn chỉ định ngôn ngữ của một số nội dung nhưng không có đánh dấu xung quanh nó, hãy sử dụng một phần tử như html2, html3 hoặc html4 xung quanh nội dung. Đây là một ví dụ:

html5

Chọn giá trị ngôn ngữ

Để chắc chắn rằng tất cả các tác nhân người dùng nhận ra ngôn ngữ nào của bạn, bạn cần tuân theo cách tiếp cận tiêu chuẩn khi cung cấp các giá trị thuộc tính ngôn ngữ. Bạn cũng cần xem xét cách tham khảo một cách tiêu chuẩn cho sự khác biệt biện chứng giữa các ngôn ngữ, chẳng hạn như sự khác biệt giữa tiếng Anh Hoa Kỳ và tiếng Anh Anh, khác nhau đáng kể về chính tả và phát âm.

Các quy tắc để tạo các giá trị thuộc tính ngôn ngữ được mô tả bởi một đặc tả IETF có tên BCP 47. Ngoài việc chỉ định cách sử dụng các thẻ ngôn ngữ đơn giản, chẳng hạn như <html lang="en">9 cho tiếng Anh hoặc html7 cho tiếng Pháp, BCP 47 mô tả cách soạn thảo thẻ ngôn ngữ cho phép bạn chỉ định Phương ngữ khu vực, tập lệnh và các biến thể khác liên quan đến ngôn ngữ đó.language tags, such as <html lang="en">9 for English or html7 for French, BCP 47 describes how to compose language tags that allow you specify regional dialects, scripts and other variants related to that language.

BCP 47 kết hợp, nhưng vượt xa, các bộ ngôn ngữ và mã quốc gia ISO. Để tìm các mã có liên quan, bạn nên tham khảo sổ đăng ký phụ IANA.

Để giới thiệu nhẹ nhàng nhưng khá kỹ lưỡng về cú pháp của thẻ BCP 47, hãy đọc các thẻ ngôn ngữ trong HTML và XML. Để được trợ giúp trong việc chọn thẻ ngôn ngữ phù hợp trong số nhiều thẻ và kết hợp có thể, hãy xem chọn thẻ ngôn ngữ.

Chọn đúng thuộc tính

Nếu tài liệu của bạn là HTML (nghĩa là được phục vụ là html8), hãy sử dụng thuộc tính lang để đặt ngôn ngữ của tài liệu hoặc một phạm vi văn bản. Ví dụ: sau đây đặt ngôn ngữ mặc định thành tiếng Pháp:

body0

Khi phục vụ các trang xhtml 1.x hoặc polyglot dưới dạng html8, hãy sử dụng cả thuộc tính lang và thuộc tính body3 cùng nhau mỗi khi bạn muốn đặt ngôn ngữ. Thuộc tính body3 là cách tiêu chuẩn để xác định thông tin ngôn ngữ trong XML. Đảm bảo rằng các giá trị cho cả hai thuộc tính là giống hệt nhau.

body5

Thuộc tính body3 không thực sự hữu ích để xử lý tệp là HTML, nhưng tiếp quản từ thuộc tính lang bất cứ khi nào bạn xử lý hoặc phục vụ tài liệu là XML. Thuộc tính lang được cho phép bởi cú pháp của XHTML và cũng có thể được các trình duyệt nhận ra. Tuy nhiên, khi sử dụng các trình phân tích cú pháp XML khác (chẳng hạn như hàm body9 trong XSLT), bạn không thể dựa vào thuộc tính lang được công nhận.

Nếu bạn đang phục vụ trang của mình dưới dạng XML (tức là sử dụng loại MIME như body1), bạn không cần thuộc tính lang. Thuộc tính body3 một mình sẽ đủ.

body4

Thông tin thêm

Thông tin trong phần này ít có khả năng hữu ích, nhưng được cung cấp cho sự hoàn chỉnh.

Chỉ định siêu dữ liệu về ngôn ngữ đối tượng

Ngoài việc bao gồm một thuộc tính ngôn ngữ trong trang trên thẻ html (mà bạn nên luôn luôn làm), bạn cũng có thể bắt gặp các khai báo ngôn ngữ trong tiêu đề HTTP (được phục vụ với trang) hoặc các yếu tố ____10.

Điều quan trọng, khai báo ngôn ngữ trong trang luôn ghi đè thông tin HTTP khi xác định ngôn ngữ thực của văn bản, nhưng thông tin HTTP có thể cung cấp thông tin chung hơn về việc sử dụng tài nguyên dự định. Việc sử dụng các phần tử <html lang="en">0 trong trang HTML để khai báo ngôn ngữ không được khuyến nghị.<html lang="en">0 elements in the HTML page for declaring language is not recommended.

Để biết thông tin về <html lang="en">2 trong HTTP và trong các phần tử <html lang="en">0, hãy xem các tiêu đề HTTP, các yếu tố <html lang="en">0 và thông tin ngôn ngữ.

Nhiều thứ không liên quan

Chỉ vì biện pháp tốt, và vì lợi ích của sự kỹ lưỡng, có lẽ đáng để đề cập đến một vài điểm khác không liên quan đến cuộc thảo luận này.not relevant to this discussion.

Đầu tiên, không thể khai báo ngôn ngữ của văn bản bằng CSS.

Thứ hai, head1 sẽ bắt đầu bất kỳ tệp HTML nào có thể chứa những gì trông giống như một số người như khai báo ngôn ngữ. head1 trong ví dụ dưới đây chứa văn bản EN, là viết tắt của 'tiếng Anh'. Tuy nhiên, điều này chỉ ra ngôn ngữ của lược đồ liên quan đến tài liệu này - nó không liên quan gì đến ngôn ngữ của chính tài liệu.

head3

Thứ ba, đôi khi mọi người cho rằng thông tin về ngôn ngữ tự nhiên có thể được suy ra từ mã hóa ký tự. Tuy nhiên, một mã hóa ký tự không cho phép xác định rõ ràng ngôn ngữ tự nhiên: phải có ánh xạ một-một giữa mã hóa và ngôn ngữ để suy luận này hoạt động và không có ai. Ví dụ: một mã hóa ký tự duy nhất có thể được sử dụng cho nhiều ngôn ngữ, ví dụ. Latin 1 (ISO-8859-1) có thể mã hóa cả tiếng Pháp và tiếng Anh, cũng như rất nhiều ngôn ngữ khác. Ngoài ra, mã hóa ký tự có thể thay đổi theo một ngôn ngữ duy nhất, ví dụ tiếng Ả Rập có thể sử dụng các mã hóa như 'Windows-1256' hoặc 'ISO-8859-6' hoặc 'UTF-8'.

Tuy nhiên, tất cả các ví dụ mã hóa này hiện nay đều được đưa ra, vì tất cả nội dung nên được tác giả trong UTF-8, bao gồm tất cả các ngôn ngữ hiếm nhất trong một mã hóa ký tự.

Điều tương tự cũng xảy ra với hướng văn bản. Cũng như mã hóa và ngôn ngữ, không phải lúc nào cũng có ánh xạ một-một giữa ngôn ngữ và kịch bản, và do đó là định hướng. Ví dụ, Azerbaijani có thể được viết bằng cả các tập lệnh từ phải sang trái (tiếng Ả Rập) và từ trái sang phải (tiếng Latin hoặc cyrillic) và mã ngôn ngữ head4 có thể phù hợp với một trong hai. Ngoài ra, đánh dấu hướng văn bản được sử dụng với văn bản nội tuyến áp dụng một loạt các giá trị khác nhau cho văn bản, trong khi ngôn ngữ là một công tắc đơn giản không tùy thuộc vào các tác vụ cần thiết.

đọc thêm

  • Bắt đầu? Ngôn ngữ trên web

  • Hướng dẫn, làm việc với ngôn ngữ trong HTML

  • Các liên kết liên quan, tác giả HTML & CSS

    • Ngôn ngữ
    • Sử dụng các thuộc tính để khai báo ngôn ngữ
    • Chọn giá trị ngôn ngữ
    • Xác định các thay đổi ngôn ngữ trong tài liệu

Làm cách nào để hiển thị một ngôn ngữ khác trong HTML?

Tóm lại, luôn luôn thêm một thuộc tính Lang vào thẻ HTML để đặt ngôn ngữ mặc định của trang của bạn.Nếu đây là XHTML 1. X hoặc tài liệu polyglot HTML5 được phục vụ là XML, bạn cũng nên sử dụng thuộc tính XML: Lang (có cùng giá trị).Nếu trang của bạn chỉ được phục vụ là XML, chỉ cần sử dụng thuộc tính XML: Lang.add a lang attribute to the html tag to set the default language of your page. If this is XHTML 1. x or an HTML5 polyglot document served as XML, you should also use the xml:lang attribute (with the same value). If your page is only served as XML, just use the xml:lang attribute.

Làm cách nào để thêm nhiều ngôn ngữ vào trang web của tôi?

Làm thế nào để tạo một trang web đa ngôn ngữ với WordPress..
Thiết lập trang web WordPress của bạn bằng ngôn ngữ mẹ đẻ của bạn.....
Cài đặt dịch và chọn (các) ngôn ngữ của bạn ....
Thiết lập dịch tự động (tùy chọn) ....
Dịch nội dung của bạn bằng trình soạn thảo trực quan.....
Tinh chỉnh trình chuyển đổi ngôn ngữ của bạn (tùy chọn).

Bạn có thể sử dụng nhiều ngôn ngữ trong một thẻ không?

Trong HTML5, không phải vậy.Lưu câu trả lời này.Hiển thị hoạt động trên bài viết này.Như các áp phích khác và W3C đã chỉ ra, bạn không thể chỉ định nhiều hơn một ngôn ngữ trong thuộc tính Lang của thẻ HTML.you cannot specify more than one language in the lang attribute of the html tag.