Help:Extension:Translate/Page translation administration/vi

Là gì. Dịch trang là tính năng cho phép dịch có kiểm soát của các trang wiki sang các ngôn ngữ khác. Điều đó có nghĩa là nội dung của mỗi bản dịch sẽ là,thường là,tương đương là trang nguồn. Điều này trái ngược với, Với ví dụ, sự khác biệt phiên bản ngôn ngữ của các bài viết trong các Wikipedia khác nhau, chúng vốn hoàn toàn độc lập với nhau. Giả định rằng các trang chỉ được dịch từ một ngôn ngữ chính sang các ngôn ngữ khác, nhưng người dịch cũng có thể tận dụng các bản dịch ở các ngôn ngữ khác nếu chúng tồn tại.

Tại sao. Không có sự trợ giúp, việc dịch nhiều hơn một vài trang sang các ngôn ngữ khác sẽ trở nên lãng phí thời gian tốt nhất, một thứ lộn xộn không thể sửa chữa tệ nhất. Với tính năng dịch trang, bạn có thể tránh được sự lộn xộn và mang lại cấu trúc cho quá trình dịch. Cốt lõi ý tưởng là văn bản nguồn được chia nhỏ thành nhiều đoàn văn bản, mỗi đoạn sẽ được dịch riêng lẻ. Khi văn bản nguồn được phân đoạn thành các đoạn văn bản, tất cả các thay đổi có thể được cô lập và người dịch chỉ cần cập nhật bản dịch của các đoạn đã thay đổi trong văn bản nguồn. Điều này cũng cho phép người dịch làm việc trên các đoạn ngắn có kích thước có thể quản lý được và chia sẻ công việc giữa nhiều người dịch hoặc tiếp tục dịch trong các lần sau vì họ không cần phải thực hiện tất cả chúng tại cùng một lúc.

Who. Trang này giải thích chi tiết về trang hướng dẫn dịch thuật bằng cách cung cấp cái nhìn sâu hơn về cách thức hoạt động của hệ thống và đề xuất các cách thực hiện hay nhất cho nhiều trường hợp. Trang này dành cho các quản trị viên dịch trang và nói chung là cho tất cả những người chỉnh sửa văn bản nguồn của các trang có thể dịch, ngay cả khi họ không có quyền truy cập vào quản lý các tính năng để phê duyệt các thay đổi đối với bản dịch.

Để đăng ký các quyền mở rộng với tư cách là quản trị viên dịch thuật, hãy truy cập Dự án:Yêu cầu.



Trang có thể dịch
Vai trò. Nhiều người tham gia vào quá trình viết và dịch một trang wiki: người viết ban đầu tạo trang, người sửa lỗi chính tả, quản trị viên dịch trang đánh dấu trang để dịch, người dịch dịch, người thực hiện thay đổi đối với trang, bản dịch trang quản trị viên đánh dấu những thay đổi đó cho bản dịch và người dịch cập nhật bản dịch. Các vai trò đó có thể chồng chéo ít nhiều, nhưng trách nhiệm cuối cùng để bản dịch không gặp rắc rối là của quản trị viên dịch trang. Quản trị viên quyết định khi nào trang sẵn sàng để dịch lần đầu tiên, đảm bảo rằng việc phân đoạn phục vụ mục đích và phê duyệt các thay đổi (hoặc sửa đổi).

Sự chuẩn bị. Để có một cái gì đó được dịch, bạn phải viết nó trước. Nếu bạn đã dịch xong mà không có tiện ích Dịch, nhìn bên dưới các phân bổ về di chuyển bản dịch. Nếu bạn muốn có nhiều bản dịch nhanh chóng, điều quan trọng là văn bản nguồn phải trong tình trạng tốt. Trước khi đánh dấu trang để dịch, nhờ người khác đọc lại và nếu có thể nhờ chuyên gia ngôn ngữ giúp văn bản rõ ràng và ngắn gọn hơn. Từ vựng khó và câu khó hiểu là trở ngại cho nhiều tình nguyện viên dịch. Đánh dấu cũng vậy, có thể gây ra sự cố cho người dịch, nhưng với tư cách là quản trị viên dịch thuật, bạn có thể tránh những sự cố đó, hãy xem phần về vận dụng đánh dấu ở dưới. Đương nhiên những thay đổi bạn thực hiện đối với văn bản gốc của bản dịch cần cập nhật tất cả các bản dịch hiện có, vì vậy tốt hơn là đợi cho đến khi nội dung của trang ổn định. Mặt khác, các thay đổi vẫn xảy ra và hệ thống xử lý tốt việc đó, vì vậy hãy xem phần về xử lý các thay đổi ở dưới.

Gắn_thẻ. Khi văn bản đã sẵn sàng để dịch, bất kỳ ai cũng có thể đánh dấu các phần có thể dịch bằng cách đặt chúng trong các thẻ và gắn thêm  vào trang. Cuối cùng là gôp lại danh sách của các bản dịch của trang, với phần trăm hoàn thành và cập nhật của chúng. Không có dấu hiệu nào khác cho thấy bản dịch tồn tại. Xem ở phía dưới làm thế nào để làm được việc gắn_thẻ. Hệ thống sẽ phát hiện khi các thẻ được đặt trên trang có thể dịch, và trang sẽ có một liên kết để đánh dấu nó để dịch. Việc này cũng gây bất tiện và cản trở hành động lưu_lại nếu bạn quên thêm thẻ đóng chẳng hạn. Trang có thể dịch được cũng sẽ được liệt kê trên Special:PageTranslation là sẵn sàng với việc đánh dấu.

Đánh_dấu. Sau khi gắn thẻ, quản trị viên dịch đánh dấu trang với việc dịch. Giao diện được giải thích trong Ví dụ dịch trang. Trách nhiệm của quản trị viên bản dịch là đảm bảo rằng việc phân đoạn có ý nghĩa và việc gắn thẻ đó là phù hợp. Trang có thể được đánh dấu lại nếu nó đã được thay đổi trong thời gian đó. Xem ở phía dưới làm thế nào thay đổi cái thứ tối thiểu dẫn đến các gián đoạn. Việc đánh dấu của trang bắt đầu một tiến trình nền được sử dụng của MediaWiki việc sắp xếp. Tiến trình này đi qua từng trang dịch và tạo lại trang đó: các thay đổi trong mẫu trang dịch sẽ được phản ánh và các bản dịch lỗi thời sẽ được đánh dấu bằng phông nền màu hồng. Ngược lại, giao diện dịch được cập nhật ngay lập tức.

Các_thay_đổi. Người dùng có thể tiếp tục thực hiện các thay đổi đối với nguồn trang có thể dịch. Những thay đổi sẽ hiển thị đối với người dùng đang xem trang bằng ngôn ngữ nguồn, nhưng các bản dịch được thực hiện dựa trên các đơn vị dịch được trích xuất từ ​​phiên bản cuối cùng của trang có thể dịch đã được đánh dấu để dịch: các trang dịch được báo cáo là 100% lên đến ngày nếu tất cả các đơn vị dịch đã được dịch, ngay cả khi trang nguồn có thay đổi mới. Bạn có thể dễ dàng biết liệu có những thay đổi chưa được đánh dấu hay không khi xem trang có thể dịch bằng ngôn ngữ nguồn: có một thông báo ở trên cùng cho biết bạn có thể dịch trang này và cũng có liên kết đến các thay đổi nếu có.

Vô_hiệu_hóa. Nếu các thay đổi được thực hiện đối với nguồn trang có thể dịch, quản trị viên dịch thuật sẽ được cung cấp tùy chọn "" cho mỗi phần. Nếu một phần bị vô hiệu, thì các ngôn ngữ đã dịch sẽ có màu nền hồng cho các phần đó và biểu tượng đồng hồ sẽ được hiển thị cho người dịch trong giao diện dịch. Nếu một phần không bị vô hiệu hóa, thì sẽ không có thay đổi nào hiển thị đối với người đọc các trang đã dịch và người dịch sẽ phải kiểm tra phần đó trong giao diện dịch để xem các thay đổi.

Ngôn_ngữ gốc. Ngoài ra còn có một trang dịch với mã ngôn ngữ của ngôn ngữ nguồn: trang này không chứa các thẻ bổ sung và đánh dấu khác liên quan đến dịch trang được sử dụng trong nguồn trang có thể dịch. Trang này không được liên kết từ giao diện, nhưng nó rất hữu ích, chẳng hạn như khi bạn muốn nhúng trang (thường dành cho các mẫu có thể dịch) hoặc xuất nó. Ví dụ: trang bạn đang truy cập có sẵn mà không cần đánh dấu ở mức Help:Extension:Translate/Page translation administration/en.

Việc_thay_đổi ngôn ngữ nguồn. Phần mở rộng thường giả định rằng trang nguồn có thể dịch được bằng ngôn ngữ mặc định của wiki. Quản trị viên có thể thay đổi cài đặt ngôn ngữ của một trang cụ thể, sử dụng trang Đặc biệt:Ngôn ngữ của trang, để có thể sử dụng trang này làm trang nguồn để dịch. Xem trang với nội dung ngôn ngữ để biết chi tiết.

Việc_dịch Ngôn_ngữ. Các trang dịch có thể chứa văn bản ở các ngôn ngữ khác nếu nó không được dịch hoàn chỉnh. Trên các trang dịch, các đơn vị dịch chưa được dịch sẽ được gắn thẻ ngôn ngữ và hướng văn bản phù hợp để các quy tắc CSS được áp dụng chính xác. MediaWiki, Tuy nhiên, hiện không cho phép đặt ngôn ngữ để phân tích cú pháp ngoài cấp độ trang. Tất cả các_từ ma_thuật và chức năng trình phân tích cú pháp đều sử dụng ngôn ngữ đích dịch, ngay cả khi văn bản xung quanh không được dịch. Điều này có thể tạo ra sự không khớp không mong muốn, chẳng hạn như khi định dạng số hoặc ngày. Một số hàm ma thuật và thẻ trình phân tích cú pháp cho phép đặt ngôn ngữ đầu ra, trong trường hợp đó, bạn có thể sử dụng từ ma thuật  để trả về ngôn ngữ nguồn cho các đơn vị chưa được dịch hoặc ngôn ngữ đích cho các đơn vị đã dịch.

Đã_đóng các yêu_cầu dịch. Một số trang có thể dịch được có nội dung chỉ thú vị trong một khoảng thời gian nhất định. Ví dụ: thông báo và cập nhật trạng thái thường xuyên, như điểm nổi bật hàng tháng của Wikimedia. Bạn có thể giữ các trang đó xung quanh với các bản dịch, nhưng ẩn chúng khỏi giao diện dịch thuật. Điều này không ngăn các bản dịch tiếp theo cho các trang, nhưng nó làm giảm đáng kể khả năng người dùng vô tình bắt đầu dịch trang. Không khuyến khích và đảo ngược nó được thực hiện từ Special:PageTranslation.

Ưu tiên ngôn ngữ. Bạn cũng có thể xác định danh sách các ngôn ngữ mà bạn đặc biệt muốn dịch sang; để trống danh sách ngôn ngữ được hiểu là tất cả các ngôn ngữ được phép. Trang này sẽ hoạt động giống như một trang không được khuyến khích (xem đoạn văn trước) đối với các ngôn ngữ không có trong danh sách ưu tiên và khi dịch sang các ngôn ngữ đó, người dịch sẽ nhận được thông báo. Bạn cũng có thể ngăn bản dịch sang các ngôn ngữ khác, giả sử nếu bản dịch thực sự được sử dụng ở nơi khác và bạn sẽ không thể sử dụng chúng trừ một số ngôn ngữ.

Gộp_lại. Có thể nhóm các trang liên quan lại với nhau. Các nhóm này hoạt động giống như tất cả các nhóm thông báo khác. Chúng có số liệu thống kê riêng và chứa tất cả thông điệp của các nhóm con: trong trường hợp này là các trang có thể dịch được. Chức năng này hiện đang có trong Special:AggregateGroups. Các nhóm thông báo tổng hợp được thu gọn theo mặc định ở Special:LanguageStats trong bộ chọn nhóm ở Special:Translate.

Di_chuyển. Bạn có thể di chuyển các trang có thể dịch giống như di chuyển bất kỳ trang nào khác. Khi di chuyển, bạn có thể chọn xem bạn có muốn di chuyển bất kỳ trang con không dịch thuật nào không. Di chuyển sử dụng một công việc nền để di chuyển nhiều trang liên quan. Trong khi quá trình di chuyển đang diễn ra, không thể dịch trang. Việc hoàn thành được ghi chú trong nhật ký dịch trang.

Đang_xóa. Giống như di chuyển, xóa được truy cập từ vị trí bình thường. Bạn có thể delete toàn bộ trang có thể dịch hoặc chỉ một trang dịch từ nút xóa trên đó. Thao tác xóa cũng sẽ xóa tất cả các trang đơn vị dịch thuật có liên quan. Khi di chuyển, một quá trình nền sẽ xóa các trang theo thời gian và quá trình hoàn thành được ghi lại trong nhật ký dịch trang. Việc xóa yêu cầu quyền "xóa" và "dịch trang", nhưng các trang đơn vị dịch riêng lẻ luôn có thể bị xóa bằng "xóa" tiêu chuẩn.

Quay_lại. Tương tự như vậy, hoàn nguyên các chỉnh sửa không chính xác vẫn hoạt động như bình thường (bao gồm cả nút khôi phục): bạn chỉ phải chỉnh sửa đơn vị dịch bị ảnh hưởng và trang dịch cũng sẽ được cập nhật. Để tìm bản chỉnh sửa đối với đơn vị dịch thuật từ trang chỉnh sửa đến trang dịch thuật, chỉ cần nhấp vào liên kết "" cho trình chỉnh sửa và tìm bản chỉnh sửa cùng lúc.

Bảo_ệ. Có thể protect trang có thể dịch được. Các trang dịch không thể được bảo vệ, cũng như việc bảo vệ trang có thể dịch được mở rộng cho chúng. Để ngăn các chỉnh sửa tiếp theo đối với bản dịch, bạn nên thêm ngôn ngữ nguồn làm ngôn ngữ ưu tiên duy nhất và vô hiệu hóa bản dịch sang các ngôn ngữ khác, xem ngôn ngữ ưu tiên ở trên. Hai hành động này cùng nhau ngăn chặn hiệu quả các thay đổi đối với cả trang nguồn và trang dịch với các trang đơn vị dịch của nó. Có thể bảo vệ các trang đơn vị dịch riêng lẻ, mặc dù điều đó không được khuyến khích.

Xóa khỏi bản_dịch. Cũng có thể bỏ đánh dấu một trang để dịch. Bạn có thể sử dụng Special:PageTranslation hoặc theo liên kết ở đầu trang có thể dịch để xóa nó khỏi bản dịch. Điều này sẽ loại bỏ bất kỳ cấu trúc nào liên quan đến dịch trang, nhưng giữ nguyên tất cả các trang hiện có, có thể chỉnh sửa tự do. Hành động này không được khuyến khích.

Ngôn ngữ nhận biết loại trừ. Có thể chuyển một trang có thể dịch sang một trang khác để làm mẫu(template). Trong trường hợp này, trang có thể dịch sẽ được tải bằng ngôn ngữ của trang đích nếu nó đã được dịch sang ngôn ngữ đó. Nếu bản dịch đó không tồn tại, trang có thể dịch sẽ được tải bằng ngôn ngữ nguồn. Hành vi này của một trang có thể dịch được kiểm soát bởi tùy chọn  bật phiên dịch nhận biết loại trừ nhận biết với trang này tùy chọn khi đánh dấu trang để phiên dịch. Các trang có thể dịch mới sẽ bật hành vi này theo mặc định.



Cấu tạo của một trang có thể phiên dịch
Bản dịch của một trang có thể dịch sẽ tạo ra nhiều trang, tất cả các trang này cùng nhau tạo thành trang có thể dịch theo nghĩa rộng nhất: tiêu đề của chúng được xác định bởi tiêu đề của có thể dịch  :


 * - trang nguồn
 * - Biên dịch các trang, cộng với một bản sao của trang nguồn không đánh dấu
 * - tất cả các biên dịch các phần của các trang

Ngoài ra, còn có mẫu trang dịch thuật và nguồn của các đơn vị dịch thuật, được trích xuất từ ​​​​trang nguồn và được lưu trữ trong cơ sở dữ liệu. Hệ thống theo dõi phiên bản nào của trang nguồn chứa các thẻ dịch và phiên bản nào của chúng đã được đánh dấu để dịch.

Mỗi khi một trang đơn vị dịch được cập nhật, hệ thống cũng sẽ tạo lại trang dịch tương ứng. Điều này sẽ dẫn đến hai lần chỉnh sửa. Chỉnh sửa trang đơn vị dịch được ẩn theo mặc định trong các thay đổi gần đây và có thể được hiển thị bằng cách chọn hiển_thị bản_dịch từ bộ lọc dịch. Bất kỳ hành động nào ngoài chỉnh sửa (như xóa và di chuyển) các trang đơn vị dịch sẽ không kích hoạt việc tạo lại trang dịch tương ứng.

Nếu bạn cần bản sao của trang nguồn mà không cần đánh dấu, ví dụ: được dán vào một wiki khác mà không cần Biên_dịch,


 * xác định mã ngôn ngữ nguồn (đối với tiếng Anh, en ) và ghé
 * nhấn vào "" nút để đạt được một địa chỉ như this và thay thế  với   trong thanh địa chỉ, nhấn enter
 * văn bản sẽ được hiển thị hoặc lưu.

Phân đoạn
Nguyên tắc chung:


 * 1) Tất cả văn bản dùng để dịch phải được gói trong thẻ . Có thể có nhiều cặp thẻ trong một trang.
 * 2) Mọi thứ bên ngoài các thẻ đó sẽ không thay đổi trong bất kỳ trang dịch nào. Văn bản tĩnh này, cùng với các trình giữ chỗ đánh dấu vị trí sẽ thay thế bản dịch của từng đơn vị dịch, được gọi là biên dịch trang mẫu (page template).
 * 3) Quá nhiều đánh_dấu trong văn bản gây khó khăn cho người dịch khi dịch. Sử dụng cách đặt các thẻ  chi tiết hơn khi có nhiều đánh_dấu.
 * 4) Văn bản bên trong các thẻ  được chia thành các phần dịch trong đó có một hoặc nhiều dòng trống giữa chúng (hai hoặc nhiều dòng mới).

Những_hạn_chế. Tính năng biên dịch trang đặt một số hạn chế trên văn bản. Không nên có bất kỳ đánh dấu nào kéo dài trên hai hoặc nhiều đơn vị dịch thuật. Nói cách khác, mỗi đoạn nên độc lập. Điều này hiện không được thực thi trong phần mềm, nhưng vi phạm nó sẽ khiến kết xuất trang không hợp lệ, mức độ nghiêm trọng tùy thuộc vào việc bản thân MediaWiki có thể sửa kết quả đầu ra HTML hay không.

Thứ_tự phân_tích_cú_pháp. Lưu ý, thẻ hoạt động khác với các thẻ khác vì chúng không đi qua trình phân tích cú pháp. Điều này thường không gây ra vấn đề, nhưng có thể xảy ra nếu bạn đang thử thứ gì đó lạ mắt. Chi tiết hơn, chúng được phân tích cú pháp trước bất kỳ thẻ nào khác như hoặc, ngoại trừ  được tiện ích mở rộng Dịch nhận dạng.

Thẻ chỉ_định. Nếu có thể, hãy cố gắng đặt các thẻ trên các dòng riêng của chúng, không có dòng trống giữa nội dung và thẻ. Đôi khi điều này là không thể, ví dụ nếu bạn muốn dịch một số nội dung được bao quanh bởi phần đánh dấu, chứ không phải bản thân phần đánh dấu đó. Điều này cũng tốt, ví dụ:

Để thực hiện công việc này, tiện ích mở rộng có một cách xử lý khoảng trắng đơn giản: khoảng trắng được giữ nguyên, trừ khi thẻ  mở hoặc đóng là thứ duy nhất trên một dòng. Trong trường hợp đó, dòng mới sau thẻ mở hoặc trước thẻ đóng sẽ bị ăn. Điều này có nghĩa là chúng không gây thêm dung lượng trong phiên bản được hiển thị của trang.

Các_biến. Có thể sử dụng các biến tương tự như biến mẫu. Cú pháp cho điều này là (dấu ngoặc kép là tùy chọn nếu giá trị không chứa khoảng trắng hoặc bất kỳ của  ). Đối với người dịch, những giá trị này sẽ chỉ hiển thị dưới dạng, và trong các trang dịch sẽ tự động được thay thế bằng giá trị được xác định trong trang có thể dịch (vì vậy chúng là "hằng_số" chung trên tất cả các trang dịch). Các biến có thể được sử dụng để ẩn nội dung không thể dịch được ở giữa đơn vị dịch. Nó cũng hoạt động cho những thứ như số cần được cập nhật thường xuyên. Bạn có thể cập nhật số trong tất cả các bản dịch bằng cách thay đổi số trong nguồn trang có thể dịch và đánh dấu lại trang. Bạn không cần phải vô hiệu hóa các bản dịch, vì số này không phải là một phần của các trang đơn vị dịch thuật.

 Dấu_phẩy-phân_tách các_giá_trị. Đối với những nội dung như dữ liệu Đồ thị cần được phần mềm phân tích cú pháp dưới dạng các giá trị được phân tách bằng dấu phẩy, bạn nên tách các đơn vị dịch giữa mỗi dấu phẩy để người biên dịch không sử dụng dấu phẩy cục bộ sẽ gây nhầm lẫn cho phần mềm.

Các_giá_trị thuần_túy-văn_bản. To prevent any kind of modification of the translation value, use  attribute like this:. By default outdated and untranslated values are modified in order to support highlighting and language tagging.

Markup examples
Below are listed some alternatives and suggested ways to handle different kinds of wiki markup.

{| class=wikitable
 * - style="visibility:collapse"
 * colspan="3" |
 * - id=categories
 *  Categories 
 * width=40% | Categories can be added in two ways: in the translation page template or in one of the translation units.

If you have the categories in the translation page template, all translations will end up in the same category.

If you have categories inside translation units, you should teach the users a naming scheme.

On the right we show two possible schemes which are independent of the technical means to adopt them. Translation by adding language suffix: Category:Cars/fi (recommended)


 * Category page name not translated (just like the page names).
 * One category for each language.
 * Page translation could be used for the category itself: the categories would be linked together and the headings would be translated (but not the name of the category in links and such).

 No translation : Category:Cars


 * All translations in same category (good if only few languages, bad if many).
 * Category name not translated (can be put as is in the translation template).
 *  Headings 
 * Headings can in principle be tied to the following paragraph, but it is better to have them separated with an empty line. This way someone can quickly translate the table of contents before going into the contents.
 * Headings can in principle be tied to the following paragraph, but it is better to have them separated with an empty line. This way someone can quickly translate the table of contents before going into the contents.

When tagging headings, it is important to include the heading markup inside the tags and insert a newline between the opening translate tag and the heading markup, or MediaWiki will no longer identify them properly. For example, section editing only works with the recommended mark-up given in the example. The markup also immediately gives translators a context: they are translating a heading. Additionally, it ensures that linkable anchors are generated for the heading  Wrong:  (no newline after tag, heading out of translate tags) {{#tag:syntaxhighlight|

translateCulture/translate

 * lang="html"}}

 Wrong:  (no newline)

 Recommended segmentation:  {{#tag:syntaxhighlight| {{^(}}translate{{)^}}

Culture
Lorem ipsum dolor. /translate
 * lang="html"}}


 *  Images 
 * Images that do contain language specific content like text should include the full image syntax in an unit. Other images can only tag the description with optional hint in message documentation of the page after it has been marked.
 * Images that do contain language specific content like text should include the full image syntax in an unit. Other images can only tag the description with optional hint in message documentation of the page after it has been marked.


 *  Links 
 * Links can be included in the paragraph they are inside. This allows changing the link label, but also changing the link target to a localized version if one exists.
 * Links can be included in the paragraph they are inside. This allows changing the link label, but also changing the link target to a localized version if one exists.

If the target page is (or should be) also translatable, you should link to it by prepending  to its title. Only the link label will need to be translated, because this automatically redirects users to the translation page in their own interface language, as selected for instance via the UniversalLanguageSelector. However, to achieve a constant behavior the syntax must be used for all links.  Internal links: 

 Links to translatable pages: 

 External links: 

Do so only if the items are sufficiently independent to be translated separately in all languages: don't create "lego messages". For instance, you must avoid to split a single sentence in multiple units, or to separate logically dependent parts which may affect each other (with regard to punctuation or style of the list, for instance). To split a list, use -tags for each item without including leading asterisks/hashes/semicolons. Do not insert blank lines as this will break the HTML output.
 *  Lists 
 * Lists can get long, so might want to split them into multiple parts with one item in each unit.
 * Lists can get long, so might want to split them into multiple parts with one item in each unit.

or


 *  Numbers 
 * With numbers and other non-linguistic elements you may want to pull the actual number out of translation and make it a variable. This has multiple benefits:
 * With numbers and other non-linguistic elements you may want to pull the actual number out of translation and make it a variable. This has multiple benefits:


 * You can update the number without invalidating translations.
 * Translation memory can work better when the changing number is ignored.

Note that this prevents the translators from localising the number by doing currency conversion. The  call makes sure the number is formatted correctly in the target language.


 *  Templates 
 * Templates have varying functions and purposes, so the best solution depends on what the template is for. If the template is not a part of longer paragraph, it should be left out, unless it has parameters that need to be translated. If the template has no linguistic content itself, you don't need to do anything for the template itself.
 * For an example of templates translated with page translation, see . To use this template, you need to have another template similar to Translatable navigation template, because you cannot include the template by  anymore. This is not yet provided by the Translate extension itself, but that is in the plans.
 * For an example of templates translated with page translation, see . To use this template, you need to have another template similar to Translatable navigation template, because you cannot include the template by  anymore. This is not yet provided by the Translate extension itself, but that is in the plans.

Another way is to use the unstructured element translation to translate the template, but then the language of the template will follow the user's interface language, not the language of the page they are viewing.

In some circumstances the additional markup added by this wrapping is not suitable.
 *  Attributes 
 * By default the Translate extension may wrap outdated translation units to highlight them and untranslated units to set proper language metadata.
 * By default the Translate extension may wrap outdated translation units to highlight them and untranslated units to set proper language metadata.

can be used to avoid that. 2020-09-15 is The above input may render as:
 *  Translation language 
 * When text is using language-dependent formatting methods, a mismatch may appear for untranslated sections.
 * When text is using language-dependent formatting methods, a mismatch may appear for untranslated sections.
 * : 2020-09-15 is Tuesday.
 * : 2020-09-15 on tiistai.

Without the magic word, untranslated text on a Finnish translation page would render as:
 * 2020-09-15 is tiistai
 * }

Changing the source text
General principles:


 * Avoid changes
 * Make the changes as isolated as possible
 * Do not add translation unit markers yourself

Unit markers. When page is marked for translation, the system will update the translatable page source and add unique identifiers, called "unit markers", for each translation unit. See example below. An example of a unit marker is. These unit markers are crucial for the system, which uses them to track changes to each translation unit. You should never add unit markers yourself. The unit markers are always on the line before the unit; or, if it starts with a heading, after the first heading on the same line. The different placement for headings is needed to keep section editing working as expected.

{{#tag:syntaxhighlight| {{^(}}translate{{)^}}

Birds
!--T:1-- Birds are animals which....

!--T:2-- Birds can fly and... /translate
 * lang=html}}

Changing unit text. Changing is the most common operation for translation units. You can fix spelling mistakes, correct grammar or do other changes to the unit. When re-marking the page for translation, you will see the difference in the unit text. The same difference is also shown to translators when they update their translations. For simple spelling fixes and other cases where you don't want the existing translations to be highlighted on the translated pages, you can avoid invalidating them: translators will still see the difference if they ever update the translation for any reason.

Adding new text. You can freely add new text inside tags. Make sure that there is one empty line between adjacent units, so that the system will see it as a new unit. You can also add tags around the new text, if it is not inside existing  tags. Again, do not add unit markers yourself, the system will do it.

Deleting text. You can delete whole units. If you do so, also remove the unit marker.

Splitting units. You can split existing units by adding an empty line in the middle of a unit, or by placing tags so that they split the unit. You can either keep the unit marker with the first unit or remove it altogether. In the first case, translators see the old text when updating the old translation. If you removed the unit marker, both units will behave as if no translation ever existed, after the page is re-marked for translation.

Merging units. If you merge units, you have to remove at least all but one unit marker.

Moving units. You can move units around without invalidating translations: just move the unit marker together with the rest of the unit.

Before marking the new version of the page for translation, ensure that the best practices are followed, especially that translators get a new translation unit if the content has changed. Also make sure that there are no unnecessary changes to prevent wasting translators time. If the source page is getting many changes, it may be worthwhile to wait for it to stabilize, and push the work for translators only after that.

Unused unit translations are not deleted automatically, but that should not cause trouble.

Migrating to page translation
If you have been translating pages before using the page translation system, you might want to migrate the pages to the new system, at least the ones you expect to have new translations and want statistics for. You will probably have existing templates for language switching and maybe different page naming conventions.

You can start migration by cleaning up, tagging and marking the source page. You can keep the existing language-switching templates while you migrate the old translations. If your pages follow the language code subpages naming convention, they will be replaced with the source text after marking the source page for translation, but you'll still be able to access translations from history.

This manual task has been partly automated by Special:PageMigration (available to translation administrators only), which shows the source and target units besides each other and allows the user to adjust the units by providing a set of features mentioned later in this page.

How to use?
500px| Screenshot showing an example use of Special:PageMigration for "Help:Special pages" as page name and "fr" as language code.
 * 1) Go to Special:PageMigration
 * 2) Enter the title of the page and the language code. For example, "Help:Special pages" & "fr"
 * 3) The source text which was divided into units by Translate and the imported translations will be shown besides each other with some initial alignment.
 * 4) Use the actions available for each unit to manually do the remaining alignment
 * 5) As translated units are editable, do required manual improvements (for add translation variables, fix links and markup, etc.)
 * 6) Click on the "" button. This will create pages under the Translations namespace of the form  . The old translations have been imported into Translate.
 * 7) Else, if you wish to abort the importing, click on the 'Cancel' button.

Actions available
Each row consisting of source and target unit has a set of action icons. They are used as follows:
 * 1) Add: Clicking on this action icon adds a new empty unit below the current one. Use this feature if you want to split the current unit and need a unit below.
 * 2) Swap: Clicking on this action icon swaps the content of the current unit with the unit below it. You can use this feature when the units get aligned improperly due to different ordering of sections. Or when you need to drag a unit below or above. In either case, remember it swaps with the unit below and does not create any additional units.
 * 3) Delete: Clicking on this action icon completely removes the corresponding target unit from the page and shifts the remaining target units up by one unit. Use this to remove unwanted content like code or imported translations which are present completely in the source language. Note: this irrevocable action (in the current session).

Troubleshooting

 * 1) If you mark a page for translation and immediately go to the special page and try to import translations, you may get an error message like "". This is because FuzzyBot didn't fuzzy the messages on the old page yet: the tool won't find an edit by FuzzyBot on the translation page. In this case, simply wait for FuzzyBot to do its job. Once an edit is seen, you can proceed with the imports.
 * 2) Please wait for some time after pressing the "" button. While the button background remains gray, there is an ongoing process of importing non-empty units. Once the button becomes colored again, the import is completed.

Tips

 * 1) Migration will be easier if you first (before the mark to translation) check whether existing translations are similar to the original English text, and manually edit the structure of pages: break paragraphs and lists, add the missing headings (even if empty).
 * 2) Will be useful to check the result in the core translation interface - some of the units may be immediately marked as obsolete because of errors markup or if not all of the translation variables was added.
 * 3) Translation of the page title will have to be added manually. If you do not know very well the language of the imported page, you can try to find the translation of the page title among the "links here" or sometimes in redirects.