Thêm đa ngôn ngữ cho WordPress

Quảng cáo
Ads_ngang
Website dinhthuanit.com có bài Thêm đa ngôn ngữ cho WordPress

WordPress được dùng làm tạo nhiều thể loại trang web khác nhau. Khi thành lập một giao diện WordPress, bạn nên thành lập nó để đáp ứng số lượng khán giả lớn số 1 có thể. Mục tiêu này muốn bảo rằng chủ đề của bạn cần sẵn sàng bằng các ngôn ngữ khác nhau. WordPress cung cấp API đơn giản mà bạn cũng có thể sử dụng trong thiết kế giao diện để quốc tế hóa website. Trong bài viết này, bạn sẽ học cách thêm đa ngôn ngữ cho WordPress.

Xem thêm Tạo đa ngôn ngữ cho theme và plugin wordpress.

Cấu hình đa ngôn ngữ cho WordPress

Bạn cũng có thể có thể thêm các ngôn ngữ không trùng lặp vào trang web WordPress của mình. Để xong xuôi được điều đó, bạn cũng có thể tải xuống các tệp dịch từ blog của nhóm dịch giả WordPress. Từ trang này, bạn cũng có thể có thể thấy các ngôn ngữ không trùng lặp có bản dịch, cũng như các bản dịch đã hoàn thành. Giả sử tôi muốn tải về ngôn ngữ tiếng Pháp. Tôi sẽ đi tới hàng ngôn ngữ tiếng Pháp, sau đó nhấn vào tỷ lệ phần trăm như thể hiện trong hình dưới đây.

Sau đó, bạn chọn phiên bản WordPress và tải file .mo về máy tính.

Khi bạn đã tải xuống tệp .mo, bạn sẽ phải lưu tệp đó trong thư mục wp-content/languages . Truy cập vào Settings -> General trong quản trị WordPress. Ở đó bạn sẽ cũng đều có thể thấy các tùy chọn ngôn ngữ mà bạn đã đặt trong thư mục wp-content/languages như được hiển thị trong hình ảnh. Vui lòng chọn ngôn ngữ mong muốn bạn muốn thay đổi trang web thành và nhấp vào ‘Lưu thay đổi’

Nạp TextDomain trong chủ đề

Bước đầu tiên để quốc tế hóa cho theme là tạo giao diện WordPress. Trong ví dụ này bằng phương pháp tạo nên một chủ đề con của chủ đề twentyseventeen. Để tạo chủ đề con, trước tiên hãy tạo thư mục wp-content/themes/wpinternationlizationtheme . Trong thư mục này, thêm tệp style.css với nội dung sau:

 /* Theme Name: wpinternationlizationtheme Description: Twenty Seventeen Child Theme. Author: Abbas Suterwala Author URI: http://example.com Template: twentyseventeen Version: 1.0.0 Text Domain: wpinternationlizationtheme */  

Tệp này định nghĩa một chủ đề con với tên wpinternationlizationtheme. Ở trên, mọi tin tức khai báo trong tệp style.css là các trường chuẩn mà chúng ta định nghĩa cho 1 chủ đề con. Trường Text Domain là trường định vị tên duy nhất cho miền văn bản của chủ đề này. Theme này sẽ tải các tệp dịch với khóa này làm mã định danh duy nhất.

Tạo một file functions.php với đoạn mã sau đây:

   get('Version') ); } add_action( 'wp_enqueue_scripts', 'wpinternationlizationtheme_enqueue_styles' ); ?>   

Mã trên nạp chủ đề mẹ (trường hợp này là twentyseventeen). Sau đó, styles từ chủ đề con được nạp.

Điều này cấp phép các chủ đề con được tải cuối cùng và cũng có thể có thể được tùy chỉnh theo nhu cầu của chủ đề con. Bây giờ bạn sẽ muốn nạp miền văn bản, WordPress sẽ kiếm tìm bản dịch cho chủ đề này ở đâu? Bạn cũng đều có thể tải miền văn bản của chủ đề bằng cách sử dụng hàm load_theme_textdomain của WordPress.

Để làm điều đó, thêm đoạn mã sau vào functions.php của bạn:

 function wpinternationlizationtheme_setup(){ $domain = 'wpinternationlizationtheme'; // wp-content/languages/wpinternationlizationtheme/de_DE.mo load_theme_textdomain( $domain, trailingslashit( WP_LANG_DIR ) . $domain ); // wp-content/themes/wpinternationlizationtheme/languages/de_DE.mo load_theme_textdomain( $domain, get_stylesheet_directory() . '/languages' ); // wp-content/themes/wpinternationlizationtheme/languages/de_DE.mo load_theme_textdomain( $domain, get_template_directory() . '/languages' ); } add_action( 'after_setup_theme', 'wpinternationlizationtheme_setup' );  

Đoạn mã trên sử dụng hook after_setup_theme . Tính năng này, giúp website tải miền văn bản cho chủ đề. Điều này được thực hiện bởi hàm load_theme_textdomain . Chức năng này được thiết lập để tìm kiếm các tệp .mo trong những thư mục sau:

 - Languages directory - Child theme directory - Parent theme directory  

Sử dụng bản dịch trong WordPress

Khi bạn đã thiết lập miền văn bản, hãy xem các hàm bạn có thể sử dụng để nước ngoài hóa website WordPress của mình. Có hai hàm chủ yếu mà bạn có thể sử dụng. Thứ nhất là __ . Hàm này nhận hai đối số, trước mắt là chuỗi và tên miền. Hàm này sau đó trả về chuỗi được địa phương hóa.

Vì vậy, nếu bạn mong muốn thêm 1 số văn bản ở cuối mỗi bài đăng, nhưng cũng muốn nội dung này được dịch dựa trên ngôn ngữ lựa chọn, hãy thêm mã sau vào hàm functions.php của bạn:

 function wpinternationlizationtheme_after($content) { return $content . __('Read more', 'wpinternationlizationtheme'); } add_filter('the_content', 'wpinternationlizationtheme_after');  

Hàm khác bạn cũng có thể sử dụng là _e , cũng như với hàm __. Hàm này hiển thị văn bản được dịch trực diện trên trang thay vì chỉ trả về giá trị.

ví dụ: nếu bạn muốn thêm thông báo chân trang, thì thêm đoạn sau vào file footer.php

     

Tạo tệp .mo

Có nhiều công cụ có sẵn để tạo tệp .mo. Trong bài viết này, mình sẽ sử dụng công cụ thông dụng là poedit. Bạn có thể tải phần mềm poedit cho hệ điều hành của bạn từ https://poedit.net/download

Sau khi cài đặt poedit, bạn mở ‘file-> New Catalog’:

Trong màn hình này, bạn có thể nhập thông tin cơ bản về dự án. Tab kế đến là cung cấp đường dẫn, như được hiển thị bên dưới hình:

Tab tiếp theo cho phép bạn nhập các từ khóa cần tìm kiếm để nhận kết quả các chuỗi cần bản địa hóa. Vì bạn đã sử dụng hai hàm __ _e trong những thí dụ trên, hãy thêm hai hàm này vào tab này.

Công cụ sẽ tìm kiếm mọi thứ các chuỗi cần dịch như thể hiện trong hình dưới đây.

Bây giờ bạn có thể thêm bản dịch cho mỗi chuỗi và sau đó nhấp vào ‘Lưu’ để lưu tệp tại wp-content/themes/ wpinternationlizationtheme/languages/fr_FR.mo

Bây giờ, cuối cùng, nếu bạn thay đổi ngôn ngữ thành ‘Tiếng Pháp’, bạn sẽ thấy các chuỗi của mình được dịch sang tiếng Pháp trên trang web. Chúc bạn thành công.

Nếu bạn thích bài viết này, hãy cỗ vũ chúng tôi bằng phương pháp đăng ký nhận bài viết mới ở bên dưới và đừng quên chia sẻ kiến thức này với bạn bè của bạn nhé. Bạn cũng có thể có thể theo dõi blog này trên Twitter và Facebook

Bài viết Thêm đa ngôn ngữ cho WordPress được tổng hợp và biên tập bởi: dinhthuanit.com. Mọi ý kiến đóng góp và phản hồi vui lòng gửi Liên Hệ cho dinhthuanit.com để điều chỉnh. dinhthuanit.com xin cảm ơn.

Bài Viết Liên Quan


Bài Viết Khác


Quảng cáo
Ads_ngang