Thiết kế wesite WordPress đa ngôn ngữ với PolyLang

Bạn đang có ý định thiết kế một website đa ngôn ngữ bằng WordPress mà chưa tìm được plugin thích hợp. Bài viết hôm nay mà Web Khởi Nghiệp xin giới thiệu với các bạn về PolyLang – plugin đa ngôn ngữ dành cho WordPress.

Một vài lưu ý khi sử dụng PolyLang

Lưu ý đầu tiên mà bạn cần phải nhớ là website đa ngôn ngữ là loại website mà bạn có thể viết nhiều ngôn ngữ trên 1 post hoặc 1 page; nói dễ hiểu hơn là bạn sẽ thấy trên cùng 1 post sẽ có cả tiếng Việt lẫn tiếng Anh. Nó khác hoàn toàn với chức năng dịch nội dung trang web từ tiếng Việt thành tiếng nước ngoài.

plugin polylang

PolyLang chỉ hỗ trợ bạn khả năng tùy biến đa ngôn ngữ với những nội dung mà bạn nhập vào. Còn với các cụm từ có trong theme, plugin nếu bạn muốn dịch ra ngôn ngữ khác thì bạn phải tự dịch ra với nhiều file ngôn ngữ khác nhau

Hướng dẫn cài đặt plugin đa ngôn ngữ PolyLang cho website

Các bước cài plugin mình đã có chia sẻ ở bài trước bạn có thể đọc lại tại đây. Sau khi bạn đã cài PolyLang xong, các bạn truy cập vào Settings, sau đó chọn Languages để có thể thiết lập các ngôn ngữ cần sử dụng. Bạn có thể thêm các ngôn ngữ nào mà ban muốn vào website. Tại phần Add New Language, bạn chỉ cần chọn tên ngôn ngữ là tự nó sẽ thiết lập cho bạn các thuộc tính khác.

cài đặt plugin polulang vào wordpress

Sau đấy bạn chuyển qua tab Settings, bạn sẽ thấy được các tùy chọn dưới đây:

Default Language - thiết kế web đa ngôn ngữ

Default Language: Là mặc định của web. Nếu có dòng màu đỏ như trong hình nghĩa là bạn có dữ liệu post, page, danh mục (category) và tag chưa được thiết lập thay đổi ngôn ngữ. Bạn cần  đánh cấu vào để áp dụng mặc định ngôn ngữ mặc định cho nó.

URL Modifications: Phần này sẽ sử dụng cấu trúc ngôn ngữ cho từng phiên bản ngôn ngữ trên website. Bạn nên chọn “The language is set from the directory name in pretty permalinks” để có thể sử dụng được đường dẫn kiểu http:///doamin.com/en/tên-post.

  • Hide URL language information for default language: Có ý nghĩa là ẩn đường dẫn xác định ngôn ngữ ở ngôn ngữ mặc định.
  • Remove /language/ in pretty permalinks: Ý nghĩa là xóa phần /language/ trên đường dẫn
  • Keep /language/ in pretty permalinks: Ý nghĩa là giữ nguyên /language/ trên đường dẫn.

Detect browser language: Website sẽ chuyển về ngôn ngữ trùng với ngôn ngữ của trình duyệt

Media: Cho phép bạn thêm từng phiên bản hình ảnh cho từng ngôn ngữ

Synchronization: Nếu bạn muốn một phần nào đó có cùng một giá trị trên bất cứ ngôn ngữ nào đó thì bạn chọ vào.

Làm thế nào để hiện nút chuyển ngôn ngữ trên website khi dùng PolyLang?

Bạn truy cập vào Appearance, chọn Widget sau đấy bạn thêm một widget tên Language Switcher. Bạn có thể chọn hiển thị tên và quốc kỳ của nước mà bạn chọn ngôn ngữ, hoặc chọn kiểu đổ xuống tùy theo sở thích của bạn

widget giúp hiển thị nút chuyển ngôn ngữ

Nếu bạn không thích vị trí mắc định của nó, bạn có thể chèn chèn hàm sau vào bất kỳ vị trí nào trong theme mà bạn muốn

pll_the_languages($args);

$args trong hàm đó là một mảng tham số, nếu không thiết lập thì nó sẽ sử dụng giá trị mặc định, các tham số đó là:

  • ‘dropdown’ => Mặc định là 0, đây là dạng hiển thị xổ xuống, thiết lập giá trị 1 sẽ trở thành dạng xổ xuống.
  • ‘show_names’ => Mặc định là 1, là dạng hiển thị tên ngôn ngữ, thiết lập giá trị 1 sẽ hiển thị tên ngôn ngữ.
  • ‘display_names_as’ => Mặc định là name, là dạng ngôn ngữ theo “name” hoặc “slug”
  • ‘show_flags’ => Mặc định là 0, giá trị 1 sẽ hiển thị lá cờ
  • ‘hide_if_empty’ => Mặc định là 1, ẩn các ngôn ngữ, nếu ngôn ngữ đó chưa cho post (bài viết) hoặc page (trang) tương ứng và 1 cũng là giá trị để ẩn ngôn ngữ
  • ‘force_home’ => Mặc định là 0, giá trị 0 sẽ chuyển trang hiện tại sang ngôn ngữ đã được chọn
  • ‘hide_if_no_translation’ => Mặc định là 0, ẩn ngôn ngữ nào đó nếu nó chưa có giá trị nào được dịch
  • ‘hide_current’ => Mặc định là 0, nếu giá trị là 1 thì nó sẽ ẩn ngôn ngữ hiện tại
  • ‘post_id’ => Mặc định là null (trống), nếu giá trị này được thiết lập thì ngôn ngữ đó sẽ trỏ đến một bài viết hoặc một trang thông qua ID
  • ‘raw’ => Mặc định là 0, thiết lập giá trị 1 nếu bạn muốn tự viết lại CSS cho nó.

Ví dụ:

<?php pll_the_languages(array(

'show_flags'=>1,

‘raw’ =>1

)); ?>

Ý nghĩa ví dụ là với ‘show_flags’ sẽ hiện lá cờ ngôn ngữ, và ‘raw’ sẽ giúp bạn chỉnh lại CSS theo ý của bạn.

Cài đặt menu đa ngôn ngữ cho WordPress

PolyLang có hỗ trợ vị trí menu để giúp hiển thị tách biệt với từng ngôn ngữ khác nhau. Nếu bạn truy cập vào mục Menu trong trang quản trị của website bạn sẽ thấy nó tương tự như vầy:

cài đặt menu đa ngôn ngữ cho web

Bạn cũng có thể tạo ra các menu ngôn ngữ tương ứng khác nhau và chọn vị trí thích hợp là được nhé.

cách tạo mới menu đa ngôn ngữ

Thiết lập post (bài viết) và page (trang) khi dùng PolyLang

Nếu bạn thiết lập nhiều ngôn ngữ, thì khi bạn truy cập vào phần All Post thì bạn sẽ thấy có thêm một cột ngôn ngữ như hình.

thiết lập post/page đa ngôn ngữ với polylang

Các post bạn đều có thể thiết lập một ngôn ngữ riêng cho nó, nghĩa là bạn có thể thiết lập 1 post tiếng Việt, 1 post tiếng Anh, 1 post tiếng Thụy Điển….

Khi bạn tạo bài viết mới, thì bên tay phải của bạn sẽ xuất hiện thêm một cột Languages, đây chính là nơi để bạn chọn ngôn ngữ cho post đó. Page cũng tương tự như thế nhé.

Vị trí khung đa ngôn ngữ xuất hiện trong new post/ new page

Thiết lập danh mục (Category) và Tag đa ngôn ngữ

Phần này cũng tương tự như post, bạn có thể tạo nhiều ngôn ngữ khác nhau cho danh mục và tag, giống như trong hình.

thiết lập danh mục, tag đa ngôn ngữ

Bạn có thể thay đổi lại ngôn ngữ của danh mục và tag thành ngôn ngữ khác khi bạn vào chỉnh sửa chi tiết vào danh mục hoặc tag đó, giống như hình dưới đây

thiết lập chi tiết danh mục đa ngôn ngữ

Trên đây là bài viết về thiết kế website WordPress đa ngôn ngữ với PolyLang. Mình cũng xin nhắc lại một lần nữa là, plugin này là đa ngôn ngữ, trên website có thể xuất hiện cùng lúc nhiều ngôn ngữ, chứ không phải dịch ngôn ngữ. Xin chào và hẹn gặp lại các bạn ở những bài viết sau.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

0792.189.189