Kết nối với chúng tôi

Plugin đa Ngôn ngữ trên WordPress – dễ dàng sử dụng

Plugin đa Ngôn ngữ trên WordPress – dễ dàng sử dụng

[dropcap]da-ngon-ngu[/dropcap]Một số người mới dùng WordPress nghĩ rằng để làm một website hỗ trợ nhiều hơn một ngôn ngữ thì cũng như việc cài thêm một website con và viết bằng ngôn ngữ khác rồi liên kết với website chính hoặc là sử dụng các plugin tự dịch như nhờ vào công cụ Google Translate chẳng hạn. Điều này không sai nhưng làm như thế thì khá là tốn công vì ngoài thời gian bạn phải bỏ ra để tự viết một bài bằng 2 ngôn ngữ nếu không muốn dùng Google Translate, thì bạn cần phải bỏ thời gian ra lặp đi lặp lại cùng một thao tác trên cả các website đó (cài theme, plugin, tạo menu,….), rất khá là tốn thời gian đúng không nào.
Vậy chúng ta có thể làm website nhiều hơn 2 ngôn ngữ trên cùng một bản cài đặt WordPress không? Hoàn toàn được chứ vì trong WordPress có hỗ trợ khá nhiều plugin để làm việc này, mà trong bài này mình sẽ giới thiệu và hướng dẫn dùng một plugin tạo website đa ngôn ngữ rất dễ dùng mà lại hoàn toàn miễn phí, đó là qTranslate.
Plugin qTranslate làm việc như thế nào?

Nếu bạn chưa biết qua về plugin này thì hãy để mình nói qua một chút về nó hen. Nói theo cách đơn giản nhất thì khi cài plugin này vào, thì tất cả các dữ liệu mà bạn nhập vào WordPress đều có thể nhập bằng nhiều ngôn ngữ.
Ví dụ, mình tạo 2 ngôn ngữ là Anh và Việt, và khi mình viết bài, thêm menu, tạo category, thêm tag,…hay tất cả những thứ gì mà bạn tác động vào đều có thể viết bằng 2 ngôn ngữ. Do đó, khi mình chuyển qua ngôn ngữ tiếng Việt thì sẽ thấy các dữ liệu mình đã thiết lập cho tiếng Việt và tiếng Anh cũng thế, bạn có thể thêm tối đa cùng lúc hàng chục ngôn ngữ khác nhau.
Hướng dẫn cài đặt và thiết lập qTranslate

Về cách cài đặt thì nó cũng không khác gì các plugin bình thường đó là bạn tải plugin qTranslate về và cài đặt vào như thường.
Sau khi cài đặt và kích hoạt xong thì bạn nên vào phần và thiết lập đường dẫn tĩnh (nếu chưa thiết lập).
[IMG]
Mặc định nó sẽ tạo cho bạn 3 ngôn ngữ đó là tiếng Đức, tiếng Anh và tiếng Trung Quốc.
Để thay đổi hoặc thêm ngôn ngữ khác bạn vào Settings -> Languages và tiến hành ấn vào nút Disable vào ngôn ngữ nào mà bạn không muốn dùng phía dưới. Ở đây mà mình sẽ say goodbye tới tiếng Đức và Trung nhóe.

[IMG]

Sau đó, bạn tìm tới ngôn ngữ Tiếng Việt và nhấp Enable để kích hoạt nó lên (nếu bạn muốn dùng tiếng Việt), và cứ Enable ngôn ngữ nào đó mà bạn muốn thêm vào website.
Trường hợp trong danh sách ngôn ngữ có sẵn không có sẵn thì bạn vẫn có thể tự tạo thêm bằng tính năng Add Language nằm bên tay trái, mình cũng xin nói qua mô tả các thông số của tính năng này luôn.

  • Language Code – Đây là một mã chữ cái gồm 2 chữ cái duy nhất tương ứng với từng ngôn ngữ và bạn phải viết thường. Bạn có thể xem danh sách language code tại đây. (danh sách này khá là hữu ích trong quá trình sử dụng plugin này nên bạn hãy lưu lại nó). Ví dụ: vi cho tiếng Việt.
  • Flag – Chọn cờ của từng ngôn ngữ, cờ này sẽ xuất hiện ra bảng chọn ngôn ngữ ngoài website luôn nên đừng chọn bừa nhé.
  • Name – Tên của ngôn ngữ, viết sao cũng được.
  • Locale – Mã nhận diện quốc gia của từng ngôn ngữ, cái này bạn tham khảo danh sách này nhé.
  • Date Fortmat – Định dạng ngày tháng của từng ngôn ngữ. Tùy vào ngôn ngữ mà bạn sẽ đặt định dạng hiển thị ngày tháng khác nhau, bạn có thể tham khảo danh sách PHP Date Format. Hoặc bỏ trống nếu muốn dùng mặc định của WordPress mà bạn đã thiết lập trong Settings -> General.
  • Time Format – Cũng như Date Format nhưng nó sẽ là định dạng hiển thị giờ, chứ không phải ngày.
  • Not Available Message – Lời nhắn hiển thị khi một nội dung nào đó chưa được thêm vào ngôn ngữ mà bạn đang tạo.

Sau khi thêm thì các bạn cứ Enable lên như lúc nãy.
Rồi, bây giờ bạn kéo lên trên và ấn vào phần Advanced Setting và tìm
URL Modification Mode – Chọn là Use Pre-Path Mode (Default, puts /en/ in front of URL). Mục đích là thêm mã ngôn ngữ vào đường dẫn để chuyển tới ngôn ngữ đó. Dễ SEO.
Thế là xong phần thiết lập cơ bản. Bây giờ việc quan trọng thứ 2 nữa là bạn phải cho hiển thị icon chọn ngôn ngữ ra ngoài website để khách có thể click vào mà xem nội dung của ngôn ngữ họ cần.
Hiển thị menu chọn ngôn ngữ

Cách 1. Dùng widget

Bạn vào Appearance -> Widget và tìm widget “qTranslate Languages Chooser” rồi kéo vào sidebar mà bạn muốn cho nó hiển thị. Bạn có thể cho nó hiển thị chữ, ảnh hoặc cả 2. Mặc định của nó là hiển thị theo hàng dọc, nếu bạn muốn cho nó hiển thị thành hàng ngang thì chèn thêm đoạn CSS ngắn này vào file style.css

.qtrans_language_chooser li {

float: left;

padding-right: 10px;

}

Cách 2. Dùng HTML

Nếu như bạn không muốn hiển thị ở sidebar mà muốn chèn ở đâu đó mà bạn thích thì cũng khá đơn giản, đó là chèn bằng mã HTML luôn (vì mình chưa tìm ra hàm in cái list này trong plugin của nó, tác giả không muốn cho biết).

<ul id=”qtranslate-2-chooser”>
<li><a href=”Link của ngôn ngữ” title=”English”><span>English</span></a></li>
<li><a href=”Link của ngôn ngữ” title=”Tiếng Việt”><span>Tiếng Việt</span></a></li>
</ul>

Muốn thêm nhiều ngôn ngữ thì bạn chỉ cần viết thêm nhiều thẻ li như vậy nữa là được. Nhưng bạn nhớ để ý phần class nhé, bạn nên viết class là qtrans_flag_[mã ngôn ngữ]. Ví dụ: qtrans_flag_vi, mục đích là hiển thị cờ của ngôn ngữ của nó.
Rồi, bây giờ thì chúng ta đã có được phần chọn ngôn ngữ trông cũng khá được mắt rồi nhể

[IMG]

Bây giờ chúng ta sẽ cùng tìm hiểu phần quan trọng nhất, đó là thêm nội dung của từng ngôn ngữ.
Thêm nội dung cho từng ngôn ngữ trong qTranslate

Mặc định, qTranslate hỗ trợ phần viết bài trong WordPress bằng nhiều ngôn ngữ (Posts, Pages hoặc một Custom Post Type khác). Nó nhìn trông như thế này

[IMG]

Cách dùng cũng đơn giản mà, bạn cứ việc nhập tiêu đề cho từng ngôn ngữ và phần nội dung cũng vậy. Nó sẽ hiển thị tương ứng với từng ngôn ngữ mà khách chọn. Bạn bật bao nhiêu ngôn ngữ thì nó sẽ hiển thị ra bấy nhiêu ngôn ngữ trong đây.
Và đối với Tag, Category cũng thế, bạn có thể đặt tiêu đề cho chúng bằng nhiều ngôn ngữ khác nhau.

[IMG]

Tuy nhiên, về phần slug bạn lưu ý là nó không hỗ trợ, mình đã tìm đủ mọi cách rồi nhưng không được.
Sử dụng [:language-code] để tùy biến tên hiển thị

Bạn có thể thấy mặc định nó hỗ trợ phần đăng bài bằng nhiều ngôn ngữ. Nhưng nếu bạn chuyển qua Custom Post Type hoặc đơn giản là Menus thì sẽ không có phần đó, nghĩa là bạn chỉ có thể nhập tên hiển thị ra ngoài bằng 1 ngôn ngữ duy nhất.
Tuy nhiên chúng ta vẫn còn giải pháp khác đó là sử dụng Shortcode (không hiểu sao qTranslate không hướng dẫn cài này làm mình mò muốn chết :( ).
Cách sử dụng Shortcode của qTranslate khá đơn giản, khi bạn viết một cái gì đó nhưng muốn nó hiển thị bằng 2 ngôn ngữ thì có thể viết như sau:

[:en]Homepage [:vi]Trang chủ

Cái code đằng sau dấu 2 chấm thì bạn có thể quay lại danh sách Language Code của mình ở trên để xem và bạn cần phải viết nó thật chính xác tương ứng với ngôn ngữ muốn hiển thị.
Ví dụ, bây giờ mình muốn tạo menu 2 ngôn ngữ thì mình sẽ viết như sau

[IMG]

Bây giờ bạn thử ra ngoài trang chủ và chuyển đổi ngôn ngữ xem, sẽ thấy tên menu được thay đổi tương ứng.
Các bạn có thể áp dụng shortcode này vào dùng trong các plugin tạo slide hoặc custom post type. Mình đã thử khá kỹ và hoạt động rất là tốt.
Cách sử dụng qTranslate cũng chỉ có như vậy thôi. ^^
Nhưng, qTranslate cũng có một vài bất cập

  • Không cho phép thiết lập permalinks của từng khu vực như posts, pages,….cho từng ngôn ngữ. Điều này có nghĩa là mình không thể sử dụng hàm WP_Query để gọi một bài viết theo slug của từng ngôn ngữ để hiển thị ra trong các dự án chuyên sâu có sử dụng tính năng đa ngôn ngữ.
  • Nếu bạn sử dụng các plugin Custom Post Type UI thì sẽ thấy nó hoạt động khá củ chuối.
  • Dễ bị xung đột nếu như bạn có dùng tính năng chuyển đổi ngôn ngữ trong WordPress.

Giải pháp thay thế: Mua WPML bản $79 ^^. Đây là plugin tạo tính năng đa ngôn ngữ mà mình thấy hoàn thiện nhất trong thời điểm hiện tại.

1/5 - (1 bình chọn)

Các bình luận

Đọc tiếp...
Bài viết liên quan...
Click để bình luận

Gửi bình luận

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 *

Cùng chuyên mục Thủ thuật Wordpress

Lên trên