Dịch ngôn ngữ trong WordPress trên website với Loco Translate

1 năm trước 22



Vấn đề dịch thuật trong WordPress như dịch plugin và theme quả thực là một cơn ác mộng, đúng không chứ? Hầu hết các sản phẩm của WordPress bao gồm theme và plugin đều là tiếng Anh, mà nếu website bạn phục vụ cho đối tượng người Việt Nam hay một quốc gia nào đó thì dĩ nhiên phải cần dịch lại cho tương xứng, ít nhất là dịch các đoạn chữ hiển thị ra ngoài website.

Mặc dù ở blog mình đã có hướng dẫn sử dụng PoEdit để dịch thuật theme và plugin của WordPress nhưng nhiều người mới tham gia vẫn còn bỡ ngỡ, và đối với người làm chuyên nghiệp rồi thì hơi bất tiện vì phải tải gói ngôn ngữ về mà dịch.

Vậy có cách nào để có thể tạo gói ngôn ngữ nhanh cho một plugin hay theme và dịch trực tiếp trên website mà không cần tải về không? Dĩ nhiên có, trước đây mình có giới thiệu Codestyling Localization nhưng plugin đó lại dễ bị xung đột với một số plugin và theme, và chuối nhất là một số ngôn ngữ khi tạo ra lại có mã ngôn ngữ không đúng, ví dụ như ngôn ngữ tiếng Việt thì hiện nay WordPress sử dụng là vi.mo nhưng plugin đó lại sinh ra file tên là vi_VN.mo thành ra không làm việc được nếu bạn sử dụng WordPress tiếng Việt.

Nhưng thay vào đó, mình giới thiệu đến bạn một plugin khác có chức năng tương tự đó là hỗ trợ dịch file .po nhanh cho plugin/theme, hoặc tạo mới một file .po hoàn toàn tự động và bao gồm chức năng dịch và chuyển sang định dạng .mo, đó là plugin Loco Translate.

loco-translate-cover

Loco Translate là một plugin mới nhưng được đánh giá rất cao trong vấn đề hỗ trợ dịch thuật trên website WordPress. Với giao diện mang tính tương đồng với PoEdit, hỗ trợ dịch các form số nhiều y hệt như PoEdit và tự động đồng bộ các đoạn text trong theme/plugin là một ưu thế rất mạnh của Loco Translate.

Tại Loco Translate, bạn có thể dễ dàng tạo ra một gói ngôn ngữ nhanh nhất và nó sẽ tự động lưu trong thư mục ngôn ngữ thích hợp của plugin hoặc theme đó, hoặc bạn có thể sử dụng cấu trúc thư mục ngôn ngữ chung của WordPress ở /wp-content/languages/, mình khuyến khích bạn sử dụng tùy chọn global languages directory nếu dùng cho mục đích cá nhân để dễ quản lý gói ngôn ngữ.

Tạo một file PO nhanh cho plugin/theme trong Loco Translate

Tạo một file PO nhanh cho plugin/theme trong Loco Translate

Ở phần chỉnh sửa, giao diện rất trực quan, hỗ trợ tải file PO hoặc MO về máy và dĩ nhiên là tự động chuyển đổi từ PO sang MO để cho WordPress đọc mỗi khi bạn ấn nút Save.

loco-translate-edit

Và nó có làm việc được không? Chắc chắn là có, xem này.

loco-translate-after

Chỉ đơn giản vậy thôi.

Hướng dẫn sử dụng Loco Translate

Để sử dụng Loco Translate tốt và có thể xem ngay những thay đổi sau khi dịch, bạn hãy tiến hành đổi ngôn ngữ của website WordPress tại Settings -> General -> Site Language. Nếu bạn muốn dịch thành tiếng Việt thì trước tiên phải cài ngôn ngữ tiếng Việt vào WordPress và tiến hành sử dụng Loco Translate sau.

wordpress-site-language

Sau đó bạn cài plugin Loco Translate vào và truy cập vào Loco Translate -> Manage translations để quản lý các gói ngôn ngữ của plugin và theme.

loco-translation-manage-translations

Bạn tìm đến sản phẩm mà bạn cần tạo ngôn ngữ hoặc cần dịch và ấn New Language (để tạo gói ngôn ngữ) hoặc click thẳng vào tên ngôn ngữ để bắt đầu dịch.

loco-translate-createnew

Và chọn ngôn ngữ trên danh sách ngôn ngữ, nó sẽ tự động điền mã ngôn ngữ cho bạn. Bạn có thể chọn kiểu lưu gói ngôn ngữ bất kỳ.

Tạo một file PO nhanh cho plugin/theme trong Loco Translate

Tạo một file PO nhanh cho plugin/theme trong Loco Translate

Và cuối cùng là nó sẽ tự động nhập dữ liệu từ file template dạng .po có trong sản phẩm đó và bạn có thể bắt đầu dịch và ấn Save lại. Trường hợp nếu nó không xuất hiện chữ thì hãy ấn nút Sync để nó tự nhập text thủ công từ mã nguồn.

loco-translate-edit

Một số lưu ý khi dùng Loco Translate

Để tránh nhiều bạn thắc mắc khi gặp vấn đề thì mình xin nêu ra một số lưu ý khi sử dụng.

  • Theme/Plugin cần dịch phải có file template hiển thị là .po hoặc .pot. Nếu nó hiển thị kiểu “default.mo” thì bạn nên vào host, tìm file default.po và đổi tên thành [mã-ngôn-ngữ].po thủ công rồi dịch sau.
  • Tránh sử dụng trên host yếu vì nó có thể làm đơ host của bạn.
  • Hãy chắc chắn thư mục /wp-content/ và các thư mục bên trong nó đang được CHMOD 644 để có quyền ghi dữ liệu vào. Trường hợp khi dịch mà báo lỗi permission thì hãy liên hệ với nhà cung cấp host chứ không nên CHMOD thành 777 như giang hồ đồn đại.
  • Nếu dịch xong mà ngôn ngữ không được kích hoạt thì hãy kiểm tra lại ngôn ngữ của website bạn có trùng khớp không, và thử tạo lại file ngôn ngữ với kiểu tùy chọn lưu file khác.
  • Đây là plugin hỗ trợ bạn dịch thủ công plugin và theme chứ không phải plugin tự động dịch nội dung.
  • Code trong plugin/ theme chắc chắn phải được viết theo chuẩn gettext, xem thêm.
  • Xem FAQ của Loco Translate trước nếu gặp vấn đề.
  • Tên mã ngôn ngữ phải trùng khớp với mã ngôn ngữ của website đang sử dụng. Để kiểm tra chắc chắn thì bạn cứ ấn Ctrl + U lên để xem mã nguồn và xem ở dòng <html>.

Lời kết

Loco Translate mình đã sử dụng trong khoảng hơn 1 tuần qua trong việc phục vụ dịch một số từ quan trọng trong dịch vụ cài WordPress của mình và thấy nó hoạt động rất tốt nên mình cũng hy vọng rằng nó có sẽ có ích đối với bạn. Hãy nhớ một điều rằng đôi khi có một số theme bạn sẽ gặp tình trạng một số từ dịch nó sẽ ra, một số từ dịch nó sẽ không ra là vì có thể theme đó sử dụng nhiều textdomain khác nhau (kiểu như họ chắp vá nhiều code của nhiều tác giả vào) nên lúc đó bạn có thể sử dụng kèm thêm PoEdit để kiểm tra.

Đọc toàn bộ bài viết