Hướng dẫn làm website đa ngôn ngữ với Polylang

26 Tháng Sáu, 2024

Plugin Polylang là plugin hỗ trợ cho việc thiết lập một website đa ngôn ngữ WordPress. Việc cài đặt và sử dụng plugin này cũng khá đơn giản. Bạn có thể tham khảo bài viết sau để biết thêm một số thông tin về plugin

Hướng dẫn cài đặt Plugin Polylang

Plugin -> Cài mới
Plugin -> Cài mới

Ở mục tìm kiếm các bạn search: Polylang

Cài đặt -> Kích hoạt
Cài đặt -> Kích hoạt

Cài đặt ngôn ngữ Polylang

Languages -> Languages
Languages -> Languages
Giao diện quản trị Polylang
Giao diện quản trị Polylang

Tips: Choose a language các bạn chọn ngôn ngữ muốn tạo, từ đâu còn lại các bạn để mặc định rồi ấn Add new language.

Mình đã tạo 2 ngôn ngữ tiếng Anh và tiếng Việt
Mình đã tạo 2 ngôn ngữ tiếng Anh và tiếng Việt

Dấu * (sao) ở kia biểu thị ngôn ngữ mặc định, mình muốn để ngôn ngữ mặc định của bài viết hoặc chuyên mục là tiếng Việt nên sẽ ấn vào đó.

Sau đó ở ngay bên trên notice, các bạn sẽ thấy:

Polylang cảnh báo cần chọn ngôn ngữ chính
Polylang cảnh báo cần chọn ngôn ngữ chính

Ý nó muốn hỏi bạn có muốn setup các bài viết hoặc chuyên mục trước đó về ngôn ngữ mặc định không (Ở trên mình để ngôn ngữ mặc định là tiếng Việt). Nhớ ấn You can set them all to the default language.

Cài Polylang cho Woocommerce

Languages->Settings
Languages->Settings
Giao diện cài đặt Polylang
Giao diện cài đặt Polylang

Custom post types and Taxonomies các bạn tích vào các ô rồi ấn Save Changes. Ngoài Woocommerce ra nếu có post-type khác cũng đều áp dụng cách này.

Nguyên tắc soạn thảo đa ngôn ngữ với Polylang

Nếu là bài viết, hãy đi từ chuyên mục trước rồi mới đến bài viết. Nếu là sản phẩm hãy đi từ danh mục trước rồi mới đến sản phẩm. Tại sao lại vậy? Vì khi các bạn setup chuyên mục (danh mục) ở các ngôn ngữ khác nhau rồi thì khi setup ngôn ngữ bài viết (sản phẩm) thì các bài post đó sẽ được tự động tích vào các chuyên mục (danh mục) tương ứng ở ngôn ngữ đó.

Setup Chuyên mục (Danh mục)

Setup chuyên mục tin tức
Setup chuyên mục tin tức

Khi có một chuyên mục là tin tức, các bạn hãy click vào dấu + để tạo chuyên mục đó ở ngôn ngữ tiếng Anh.

Điền tiêu đề tin tức ở tiếng Anh là News
Điền tiêu đề tin tức ở tiếng Anh là News
Sau khi thêm sẽ hiển thị tin tức tiếng Việt và tiếng Anh
Sau khi thêm sẽ hiển thị tin tức tiếng Việt và tiếng Anh

Sau khi các bạn ấn Thêm chuyên mục sẽ mất dấu + . Thay vào đó là biểu tượng bút chì và chữ V.

Setup Bài viết (Sản phẩm)

Dịch bài viết/sản phẩm
Dịch bài viết/sản phẩm

Tương tự ta có bài viết Chào tất cả mọi người ở ngôn ngữ tiếng Việt, để setup bài viết đso ngôn ngữ tiếng Anh thì ấn vào dấu +. Ở đây các bạn điền tiêu đề và nội dung bài viết Chào tất cả mọi người bằng tiếng Anh rồi sau đó ấn Đăng là được.

Khi làm tới bước này, các bạn sẽ hiểu tại sao mình bảo làm chuyên mục hoặc danh mục trước.

LƯU Ý: Chỉ được phép tạo bài viết bằng ngôn ngữ tiếng Việt, rồi từ bài viết tiếng Việt đó ấn dấu + để tạo bài viết Tiếng Anh. Đừng chủ động tạo bài viết tiếng Anh bằng Viết bài mới vì như vậy sẽ ảnh hưởng khi các bạn chuyển ngôn ngữ.

Menu trong Polylang

Tương tự như bài viết hay sản phẩm, chúng ta đều phải setup Menu ở các ngôn ngữ khác nhau.

Giao diện -> Menu
Giao diện -> Menu

Khi các bạn cài Polylang, các hiển thị vị trí của menu sẽ nhân đôi các hiển thị vị trí.

Vị trí Menu khi có Polylang
Vị trí Menu khi có Polylang

Lúc nào các bạn chỉ việc tạo thêm Menu và tích vào đúng chỗ các bạn muốn hiển thị là được. Các bạn có thể xem video để hiểu rõ hơn.

Dành cho DEV

Để tùy biến hoặc bạn muốn hiển thị ngôn ngữ ở bất kỳ vị trí nào trong theme, bạn có thể sử dụng đoạn code sau và đặt vào bất kỳ vị trí nào bạn muốn.

pll_the_languages($args);

T rong đó, $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' => Giá trị này dùng để 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' => Giúp 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' => Thực hiện các chức năng Ẩ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' => Bạn muốn tùy biế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ụ:

<?php pll_the_languages( array( 'show_flags' => 0,'dropdown' =>1 ));  ?>
Kết quả
Kết quả
0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest
0 Góp ý
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất
Phản hồi nội tuyến
Xem tất cả bình luận
Tin tức liên quan
Các hàm cơ bản của Monobehaviour Unity: Update, LateUpdate, FixedUpdate
Với nhiều bạn mới làm quen với Unity, thì việc khi nào dùng Update, LateUpdate, FixedUpdate thường là khá mơ hồ. Thêm vào đó, ba hàm này ảnh hưởng...
Chuyển Scene siêu nhanh trong Editor Unity
Khi thực hiện các tác vụ trên Editor của Unity, phím tắt là thứ giúp chúng ta tiết kiệm được rất nhiều thời gian. Chuyển scene cũng vậy. À...
Hitbox và Hurtbox trong Unity3D
Phàm từ xưa đến nay, nhiều chuyện nghĩ thì đơn giản nhưng lúc bắt tay vào làm thì gặp rất nhiều vấn đề đau đầu. Ví dụ khi một...
0
Rất thích suy nghĩ của bạn, hãy bình luận.x