Meta:Quy định quốc tế hóa

This page is a translated version of the page Meta:Internationalization guidelines and the translation is 90% complete.
Outdated translations are marked like this.

Meta-Wiki hướng tới mục tiêu một wiki đa ngôn ngữ, do đóhầu hết các trang đều có thể dịch được và được dịch. Để có thể dịch thông qua Tiện ích mở rộng Dịch, một trang phải được gắn thẻ <translate>...</translate> (tức quốc tế hóa), sau đó trang sẽ được đánh dấu cần dịch bởi một bảo quản viên bản dịch. Trang này nhằm trình bày hướng dẫn quốc tế hóa một trang trên Meta-Wiki

Hướng dẫn chung

Nói chung, bạn nên tuân thủ hướng dẫn của tiện ích mở rộng Dịch về việc đánh dấu một trang cần dịch: khi có thể, vui lòng tránh tách các đơn vị dịch theo cách thủ công khi đóng thẻ translate, thay vào đó bạn nên để các dòng trống thực hiện công việc.

Yêu cầu cú pháp chính 2020 mới

  • Nếu bạn muốn chia danh sách thành nhiều đơn vị, đừng đặt dấu ngắt dòng bên trong văn bản mà sẽ trở thành một đơn vị. Bạn cũng nên loại trừ các dấu đầu dòng/đánh số các thẻ bắt đầu bằng dấu thăng (#) khỏi thẻ translate.
  • Nếu bạn chèn thẻ translate bên trong giá trị tham số của lệnh gọi bản mẫu, hãy đảm bảo tham số được đặt tên (nếu không hãy thêm tên số, chẳng hạn như 1=).

Ví dụ về phân đoạn

Cú pháp xấu Cú pháp tốt
== <translate>Đầu đề mục</translate> ==
<translate>Đây là một đoạn.</translate>

<translate>Đây là một đoạn khác.</translate>

{{Bản mẫu}}

== <translate>Đầu mục khác<translate> ==
<translate>
== Đầu đề mục ==

Đây là một đoạn.

Đây là một đoạn khác.
</translate>

{{Bản mẫu}}

<translate>
== Đầu mục khác ==
</translate>
<translate>
* Đây là một danh sách dài:
** Có hơn 160 từ trong danh sách này,
** hoặc có hơn 8 mục.
</translate>
<translate>
* Vì vậy, tốt hơn là chia nó thành nhiều đơn vị nhỏ hơn. 
* Nhưng chúng tôi phải loại trừ các dấu đầu dòng khỏi các thẻ dịch để giữ cho danh sách có thể truy cập được.
</translate>
* <translate>Đây là một danh sách dài</translate>
** <translate>Có hơn 160 từ trong danh sách,</translate>
** <translate>hoặc có hơn 8 mục.</translate>
* <translate>Vì vậy, tốt hơn hết là chia nó thành nhiều đơn vị nhỏ hơn.</translate>
* <translate>Nhưng chúng tôi phải loại trừ các dấu đầu dòng khỏi các thẻ dịch để giữ cho danh sách có thể truy cập được.</translate>

Yếu tố cụ thể

Liên kết

Bất kỳ trang nào có thể được dịch phải được liên kết với tiền tố Special:MyLanguage/, ngay cả khi nó không thực sự được quốc tế hóa. Các trang chính không cần tiền tố này là các trang thảo luận và bản mẫu không có nội dung văn bản. Để dịch dễ dàng hơn, vui lòng bọc đích của các liên kết nội bộ bên trong <tvar name=1> … </tvar> (tên tvar chỉ có thể là một số, điều này là đủ).

Đối với các liên kết đến bài viết Wikipedia, bạn nên sử dụng tiêu bản {{lwp}} cho mục tiêu và bọc nó bên trong một tvar. Ví dụ: [[{{lwp|Rosa Parks}}</tvar>]] tạo ra en:Rosa Parks trong các trang tiếng Anh và fr:Rosa Parks trong các trang tiếng Pháp

Đối với các liên kết chéo và liên kết bên ngoài khác, nếu có bản dịch, bạn không nên đặt mục tiêu liên kết bên trong tvar. Tất nhiên, nếu trang web mục tiêu có hệ thống phát hiện ngôn ngữ (như Special:MyLanguage/ của MediaWiki), bạn có thể sử dụng hệ thống này và đặt liên kết đầy đủ bên trong tvar

Cú pháp xấu Cú pháp tốt
<translate>
Đây là một văn bản với một [[liên kết nội bộ]] và một [https://openstreetmap.org liên kết ngoài].
</translate>
<translate>
Đây là một văn bản với một [[<tvar name=1>Special:MyLanguage/internal link</tvar>|liên kết nội bộ]] và một [<tvar name="url">https://openstreetmap.org</tvar> liên kết ngoài].
</translate>

Xếp thể loại

Bạn nên loại trừ các khai báo danh mục khỏi các thẻ translate. Thay vào đó, hãy thêm {{#translation:}} sau tên danh mục: [[Category:Target category{{#translation:}}]]. Bằng cách này, chỉ trang tiếng Anh chính được phân loại vào danh mục mục tiêu, các trang dịch được phân loại theo danh mục theo ngôn ngữ.

Cú pháp xấu Cú pháp tốt
<translate>[[Category:Wikipedia]]</translate>
[[Category:Wikipedia{{#translation:}}]]

Hình ảnh

Hình thu nhỏ và hình cỡ lớn

Nếu hình ảnh có thể được địa phương hóa (ví dụ: nó chứa một số văn bản và tồn tại một phiên bản đã dịch), nó phải được bao gồm đầy đủ trong các thẻ translate.

Mặt khác, bạn chỉ nên bọc giá trị alt= trong thẻ <translate nowrap> và chú thích trong thẻ <translate>.

Nếu left hoặc right được sử dụng làm tham số hình ảnh: hãy xóa nó nếu nó vô dụng (hình thu nhỏ mặc định là bên phải bằng tiếng Anh) hoặc thay thế bằng {{dirstart}}.

Cú pháp xấu Cú pháp tốt
<translate>
[[File:phong cảnh.jpg |thumb |left |alt=mặt trời lặn |Hình ảnh về một phong cảnh đẹp]]
</translate>
[[File:phong cảnh.jpg |thumb |{{dirleft}} |alt=<translate nowrap>mặt trời lặn</translate> |<translate>Hình ảnh về một phong cảnh đẹp</translate>]]
[[File:Ảnh chụp màn hình Wikipedia tiếng Anh.png|thumb|right|<translate>Trang chính Wikipedia</translate>]]
<translate>
[[File:Ảnh chụp màn hình Wikipedia tiếng Anh.png|thumb|Trang chính Wikipedia]]
</translate>

Biểu tượng

Các biểu tượng nội tuyến có thể được gói đơn giản trong thẻ <tvar name="img">.

Cú pháp xấu Cú pháp tốt
<translate>
[[File:lời chào đẹp.png|alt=Xin chào]] mọi người! [[File:mặt cười.png|alt=🙂]] Bạn khỏe không?
</translate>
<translate>
[[File:lời chào đẹp.png|alt=Xin chào]] mọi người! <tvar name="icon">[[File:mặt cười.png|alt=🙂]] Bạn khỏe không?
</translate>

Biến bản dịch

Biến trong bản dịch (cú pháp </tvar>) nên được sử dụng để ẩn đoạn văn bản khỏi biên dịch viên nhằm ngăn họ dịch nó.

Các ví dụ sau nên được bọc bên trong tvar:

  • liên kết mục tiêu tự động địa phương hóa hoặc không địa phương hóa,
  • tên người dùng,
  • các số có khả năng thay đổi (chúng nên được bao bọc bên trong {{formatnum:}} rồi bên trong tvar),
  • thuộc tính thẻ (ví dụ: <span <tvar name="attr">class="css_class" style="background-color:blue"</tvar>>hello</span>),
  • tên bản mẫu và tham số (ví dụ: {{<tvar name=1>center|5px</tvar>|hello}}),
  • Bạn có thể đặt các phần của mã wiki hoặc HTML phức tạp bên trong $tag, nhưng vui lòng đảm bảo rằng mã wiki thu được được cân bằng.

Các ví dụ sau không nên được bọc trong tvar:

  • tên người và địa điểm (ngay cả khi chúng hiếm khi được dịch, chúng có thể chuyển ngữ),
  • Thẻ XML không có thuộc tính, chẳng hạn như <code> (giao diện dịch sẽ xử lý chúng),
  • liên kết mục tiêu có thể địa phương hóa (tức liên kết đến trang web đa ngôn ngữ).

Tên biến bản dịch

Để giúp biên dịch, vui lòng giữ tên tvar càng ngắn và dễ đọc càng tốt. Nếu biên dịch viên không cần biết nội dung của họ, thì sử dụng tên được đánh số là một ý tưởng hay vì hầu hết biên dịch đều nhập chữ số nhanh chóng và phổ biến ở nhiều ngôn ngữ (vì thế mà hầu hết người mới bắt đầu không vô tình dịch chúng).

Tuy nhiên, nếu tvar nằm trong một câu thì nó phải có một tên rõ ràng để cho phép người dịch hiểu nội dung của nó và do đó dễ dàng viết nó vào đúng chỗ trong bản dịch của họ (điều này khá phổ biến đối với địa chỉ email, URL, tên thẻ trong mã wiki, v.v).

Cú pháp xấu Cú pháp tốt
[[<tvar name="HelpLink">Special:MyLanguage/Help:Links|See help page]]
[[Special:MyLanguage/Help:Links|See help page]]
The meeting will take place on <tvar name=1>{{dateT||9|24}}</tvar> on <tvar name=2>{{int string|Zoom}}</tvar>.
The meeting will take place on <tvar name="date">{{dateT||9|24}}</tvar> on <tvar name="software">{{int string|Zoom}}</tvar>.

Avoid using spaces, underscores or letters with diatrics in tvar names as well.

Cú pháp xấu Cú pháp tốt
<tvar name="max_count of café">84</tvar> cafés
<tvar name="max-count">84</tvar> cafés

Bản mẫu

Bạn có thể chuẩn bị một bản mẫu để dịch giống như bất kỳ trang nào, nhưng bạn phải đảm bảo hộp kiểm “Enable translation aware transclusion for this page” được chọn khi bạn đánh dấu trang để dịch.

Nếu bản mẫu của bạn dự kiến ​​sẽ được đưa vào các trang không thể dịch được (ví dụ: trang thành viên) và thậm chí phải được dịch trong các trang này, thì bạn có thể sử dụng bản trước năm 2021 bằng nút chuyển, thay thế uselang={{PAGELANGUAGE}} bằng uselang={{int:lang}} trong mã hiển thị bên dưới.

Mẹo trước 2021

Trước phiên bản MediaWiki 1.36.0-wmf.32 (23 tháng 2 năm 2021), bạn nên đảm bảo các trang tiếng Anh bao gồm trang phụ /en của một bản mẫu thay vì trực tiếp bản mẫu.

Một cách khác là thay thế mỗi lần xuất hiện của {{bản mẫu đã dịch của tôi|param}} bằng {{TNT|bản mẫu đã dịch của tôi|param}}, ngoại trừ trong các bản mẫu hoặc trang được nhúng nên chứa {{ {{TNTN|bản mẫu đã dịch của tôi}} |param}} thay thế.

Một cách khác là chỉnh sửa bản mẫu để biến nó tự gọi là {{TNT}}. Để làm được điều này, bạn nên đặt mã bản mẫu đầy đủ bên trong một switch đã đánh giá một thẻ translate trống, với trường hợp mặc định được gọi là {{TNT}}.

{{#switch:<translate></translate>
|=<full template code>
|#default={{#invoke:Template translation|renderTranslatedTemplate|template={{subst:FULLPAGENAME}}|uselang={{PAGELANGUAGE}}|noshift=1}}
}}

Xem thêm