
Tại sao dịch thuật cộng đồng không thể mở rộng cho giao diện và plugin WordPress
Phân tích của chúng tôi về hơn 60.000 plugin và giao diện WordPress cho thấy dịch thuật cộng đồng chỉ đáp ứng chưa đến 5% nhu cầu ở 40 ngôn ngữ.
Các ngôn ngữ viết từ phải sang trái đặt ra một thách thức đặc biệt. May mắn thay, WordPress hỗ trợ rất nhiều để giảm bớt khó khăn này. Chúng tôi sẽ chỉ cho bạn cách tạo một trang web RTL hoạt động hoàn hảo, dựa trên giao diện TwentyTen mặc định.
Khi bạn tạo một trang web đa ngôn ngữ RTL / LTR, bạn cần giải quyết hai vấn đề:
Khi hiển thị trang web, giao diện của bạn cần xử lý đúng hướng hiển thị cho các ngôn ngữ RTL và LTR.
Hướng dẫn này sẽ theo dõi Trang web demo đa ngôn ngữ Twenty Ten của chúng tôi, có sẵn bằng tiếng Anh, tiếng Tây Ban Nha và tiếng Do Thái (RTL).
Bạn cũng nên cấu hình WPML để cho phép nó dịch giao diện và plugin.
Nếu điều này mới mẻ với bạn, trước tiên hãy đọc về module Quản lý dịch thuật.
Đây là giao diện khi tôi dịch bài viết Hello World sang tiếng Do Thái.

Bạn có thể thấy rằng các văn bản tiếng Anh được căn trái, trong khi tiếng Do Thái được căn phải. Tôi thậm chí có thể sử dụng chế độ HTML để sao chép và dán các mục từ tiếng Anh. Chế độ HTML hiển thị LTR, để cho phép bạn nhập các thẻ một cách chính xác.
Khi bạn dịch các chuỗi, WPML cũng hiển thị chúng theo đúng hướng. Đây là giao diện của màn hình Dịch chuỗi khi tôi dịch tiêu đề widget Search.

Các module Trình biên tập dịch thuật và Dịch chuỗi sẽ cho phép chúng ta dịch trang web hoàn toàn. Tiếp theo, chúng ta xem cách hiển thị nó một cách chính xác theo đúng hướng.
Dòng nhỏ này thực hiện hầu hết các phép thuật:
<html dir="rtl" lang="he-IL">
Thuộc tính dir="rtl" cho trang web biết rằng hướng hiển thị cho toàn bộ trang web là Từ phải sang trái. Các trình duyệt hiểu điều đó và sẽ lật mọi thứ theo đúng hướng.
Dòng PHP duy nhất này, từ header.php, biến điều đó thành hiện thực:
<html <?php language_attributes(); ?>>
Nếu HTML và CSS trong giao diện của bạn tuân theo các thực tiễn ‘an toàn’, thì đây thực sự là tất cả những gì bạn cần. An toàn ở đây có nghĩa là không sử dụng định vị hoặc chiều rộng tuyệt đối. Nếu bắt buộc phải sử dụng các giá trị tuyệt đối, bạn có thể cân nhắc việc tải các CSS khác nhau cho từng ngôn ngữ.
Bạn có thể làm điều này dễ dàng bằng cách sử dụng các câu lệnh điều kiện kiểm tra hằng số ICL_LANGUAGE_CODE (được mô tả trong API lập trình WPML).