Contents
Làm Website Đa Ngôn Ngữ Với Plugin PolyLang
Hiện nay, nhu cầu làm website đa ngôn ngữ ngày càng trở nên phổ biến, đặc biệt là với các website nhắm đến mục tiêu quốc tế, hay một số các website tin tức, blog cũng hướng đến ngôn ngữ quốc tế ngày càng nhiều, đặc biệt là website mảng giáo dục thì nhu cầu này nhiều hơn.
Với website được viết trên nền tảng php thuần hay asp thì việc code chức năng tạo web đa ngôn ngữ là một điều không mấy dễ dàng. Tuy nhiên, đối với wordpress thì để làm Website WordPress đa ngôn ngữ đã trở nên đơn giản và nhanh chóng hơn rất nhiều với plugin đa ngôn ngữ Polylang.
* Chú ý: Plugin đa ngôn ngữ Polylang cho phép chúng ta viết nhiều hơn một ngôn ngữ trên website (tạo thêm phiên bản ngôn ngữ khác cho bài viết) chứ không phải là chức năng tự dịch nội dung bài viết website.
Sau đây, mình sẽ hướng dẫn các bạn cách cài đặt Plugin đa ngôn ngữ Polylang chi tiết.

Plugin Đa Ngôn Ngữ Polylang – Hướng Dẫn Cài Đặt Polylang Chi Tiết
Cài đặt Plugin đa ngôn ngữ Polylang
Sau khi bạn cài plugin PolyLang xong, bạn sẽ thấy xuất hiện mục vào Languages trên trang quản trị wordpress.
Bạn vào click vào mục Languages để thiết lập tạo thêm ngôn ngữ cần sử dụng. Bây giờ bạn hãy thêm lần lượt ngôn ngữ mà bạn muốn sử dụng trên website.
Ở phần Add New Language, bạn chỉ cần tùy chọn tên ngôn ngữ, để nguyên tất cả. Sau đó, bạn kéo xuống dưới và nhấn Add new language. Ngay lập tức ngôn ngữ bạn chọn đã được thêm vào trong quản trị wordpress.

Thêm ngôn ngữ vào website wordpress với plugin Polylang.
Tiếp theo, bạn chuyển qua phần Strings Translation để thiết lập các tiêu đề, định dạng thời gian cho website trên từng ngôn ngữ.

Thiết lập tiêu đề, ngày giờ cho website theo từng ngôn ngữ.
Kế tiếp bạn chuyển qua phần Settings để thiết lập cài đặt, sẽ có một số tùy chọn như sau:

Thiết lập cài đặt cho plugin polylang.
- URL Modifications: cài đặt cấu trúc ngôn ngữ cho từng phiên bản ngôn ngữ trên website. Mình khuyến khích các bạn nên chọn kiểu “The language is set from the directory name in pretty permalinks” để sử dụng đường dẫn kiểu http://domain/en/my-post/.
- Hide URL language information for default language: Ẩn đường dẫn xác định ngôn ngữ ở ngôn ngữ mặc định. Ví dụ bạn chọn là tiếng Việt thì đường dẫn phiên bản tiếng Việt sẽ không có /vi/ trên đó.
- Remove /language/ in pretty permalinks: Xóa phần /language/ trên đường dẫn (nên chọn).
- Keep /language/ in pretty permalinks: Giữ nguyên /language/ trên đường dẫn.
- Detect browser language: Nếu bạn Activate, website sẽ chuyển về ngôn ngữ trùng với ngôn ngữ của trình duyệt.
- Thư viện: Nếu kích hoạt, bạn có thể thêm từng phiên bản hình ảnh cho từng ngôn ngữ.
- Custom post types and Taxonomies: Kích hoạt quản lý ngôn ngữ và bản dịch cho các loại bài đăng và phân loại tùy chỉnh.
- Synchronization: Nếu bạn muốn một số phần có cùng một giá trị trên bất cứ ngôn ngữ nào thì chọn vào. Ví dụ phần Custom field, bạn đánh dấu vào thì nó sẽ sử dụng một giá trị custom field cho toàn bộ các phiên bản ngôn ngữ.
Hiển thị nút chuyển ngôn ngữ trên giao diện
Để hiển thị các nút chuyển ngôn ngữ, bạn có thể vào Giao diện -> Widget để thêm một widget tên là Language Switcher. Ở tùy chọn bạn có thể tùy chọn hiển thị tên và lá cờ của từng ngôn ngữ, hoặc kiểu đổ xuống (dropdown) tùy thích.

Widget Polylang.
Hoặc nếu bạn muốn tự chèn cái language switcher này ở vị trí bất kỳ trong theme, bạn có thể sử dụng hàm sau:
pll_the_languages($args);
Trong đó, $args là một mảng tham số như sau (nếu không thiết lập nó sẽ áp dụng giá trị mặc định)
‘dropdown’
=> Hiển thị dạng đổ xuống, thiết lập giá trị là 1 nó sẽ thành dạng đổ xuống (default: 0).‘show_names’
=> Hiển thị tên ngôn ngữ, giá trị là 1 nó sẽ hiển thị tên ngôn ngữ (default: 1).‘display_names_as’
=> Hiển thị tên ngôn ngữ theo “name” hoặc “slug” (default: ‘name’).‘show_flags’
=> Hiển thị lá cờ nếu giá trị là 1 (default: 0).‘hide_if_empty’
=> Ẩn các ngôn ngữ nếu ngôn ngữ dó chưa có post hoặc page tương ứng, giá trị 1 là ẩn (default: 1).‘force_home’
=> Sử dụng đường dẫn trang chủ nếu giá trị là 1, nếu giá trị là 0 thì nó sẽ chuyển trang hiện tại sang ngôn ngữ đã chọn (default: 0).‘echo’
=> echoes if set to 1, returns a string if set to 0 (default: 1).‘hide_if_no_translation’
=> Ẩn ngôn ngữ nếu ngôn ngữ đó chưa có giá trị nào được dịch (default: 0).‘hide_current’
=> Ẩn ngôn ngữ hiện tại đang chọn nếu giá trị là 1 (default: 0).‘post_id’
=> Nếu giá trị này thiết lập thì phần ngôn ngữ đó sẽ trỏ tới một post hoặc page chỉ định qua ID (default: null).‘raw’
=> Nếu bạn muốn tự viết lại CSS cho phần này thì thiết lập giá trị là 1 (default:0).
Ví dụ:
pll_the_languages( array( 'show_flags' => 1, ));
Kết quả:

Hiển thị nút chuyển đổi ngôn ngữ polylang.
Plugin đa ngôn ngữ Polylang tự động tạo ra vị trí menu tách biệt với từng ngôn ngữ. Bạn có thể vào mục Giao diện -> Menu sẽ thấy từng vị trí menu (menu location) tương ứng với từng ngôn ngữ.

Thiết lập menu cho từng ngôn ngữ.
Thiết lập Post và Page đa ngôn ngữ
Đối với plugin Polylang, khi các bạn tạo ra một bài post hay Page, plugin sẽ hỗ trợ bạn tạo ra bài post hay page riêng cho từng ngôn ngữ còn lại. Khi bạn vào mục Bài viết -> Tất cả bài viết, bạn sẽ thấy có thêm một cột các ngôn ngữ khác.
Trong đó có 2 biểu tượng mang ý nghĩa thế này:
– Post này dành cho ngôn ngữ tương ứng với cột của nó.
– Trỏ tới post tương ứng với ngôn ngữ của nó.
– Post này chưa có ngôn ngữ tương ứng, nhấp vào để tạo.
Ví dụ:
Như hình trên là trang web được cài đặt với 3 ngôn ngữ: Tiếng Anh, Tiếng Trung, Tiếng Việt.
Nghĩa là bài viết này là phiên bản chính là tiếng Anh, nhấp vào icon sẽ dẫn tới trang sửa bài viết của hai ngôn ngữ còn lại.
Đối với tạo bài viết mới, bạn sẽ thấy có thêm cột Languages. Phần này sẽ cho bạn chọn ngôn ngữ và nhập tên bài viết riêng cho các ngôn ngữ còn lại. Tốt nhất là bạn hãy soạn ra các post khác nhau tương ứng với từng ngôn ngữ, sau đó mở lại từng post và nhập tên post của nó với phiên bản ngôn ngữ khác.
Đối với Page cũng tương tự như vậy.
Thiết lập Danh mục và Thẻ Tag đa ngôn ngữ
Đối với Danh mục và Thẻ Tag thì cũng giống như post, tức là bạn sẽ tạo ra nhiều danh mục và nhiều thẻ khác nhau, trỏ nó thành các phiên bản ngôn ngữ cho từng danh mục, từng thẻ đó.

Thiết lập danh mục cho từng ngôn ngữ.
Và khi tạo bài viêt mới, danh sách category sẽ hiển thị ra tương ứng với ngôn ngữ mà bạn thiết lập cho bài viết chứ không hiển thị hết tất cả nên bạn đừng lo nó sẽ rối.
Tương tự với tag.
Lời kết
Plugin đa ngôn ngữ PolyLang cũng chỉ có vậy. Với những hướng dẫn chi tiết ở trên, mình mong sẽ giúp các bạn có thể làm website đa ngôn ngữ một cách dễ dàng và nhanh chóng.
Chúc các bạn thành công!
Visitor Rating: 5 Stars
Visitor Rating: 5 Stars
Visitor Rating: 1 Stars