Bản địa hóa: Tôi muốn phần phụ trợ: tiếng Anh và frontend trong ngôn ngữ được xác định


9

Tôi muốn có phần phụ trợ của Wordpress bằng tiếng Anh và sử dụng một ngôn ngữ khác cho frontend

Cho đến nay tôi nhận ra có lẽ tôi có thể làm điều đó bằng cách đặt trong wpconfig ngôn ngữ mà tôi muốn sử dụng ở lối vào, sau đó thêm vào hàm.php như thế này:

add_filter('locale', 'mytheme_backendlocale');
function mytheme_backendlocale($locale) {
    if ( is_admin() ) {
        return 'en_US';
    }
    return $locale;
}

Đây có phải là cách thực hành tốt nhất để đạt được những gì tôi muốn hay tôi nên làm khác đi?

Câu trả lời:



1

Có một plugin có thể là những gì bạn cần.

http://wordpress.org/extend/plugins/fe-be-localization/


cũng cảm ơn, tôi sẽ xem mã, nhưng có lẽ sẽ không sử dụng nó vì nó không được cập nhật từ năm 2008 và chỉ hỗ trợ tối đa WP 2.6 - nếu tôi thích nó và có khả năng sẽ cố gắng nói chuyện với nhà phát triển và cập nhật nó
unfulvio

oh chỉ cần kiểm tra, nó hoạt động khá giống với chức năng tôi đã viết ở trên, theo một phong cách khác
unfulvio

Vâng, nó cũ, nhưng dường như là người duy nhất xung quanh. Nếu mã là cách bạn đã thực hiện nó, thì tôi đoán câu trả lời là bạn đang đi đúng hướng và đó là cách tôi sẽ làm nó .. không thể nghĩ ra một cách tốt hơn.
Andy James

1

Cho đến bây giờ, tôi nghĩ rằng câu trả lời của Fulvio là câu trả lời hay nhất. Tôi đang sử dụng bộ lọc đó ngay cả trên một thiết lập nhiều trang, chỉ với một dòng:

add_filter('locale', 'set_admin_locale');
function set_admin_locale($locale) {
  return 'en_US';
}

Về cơ bản đôi khi, và trong trường hợp này, tôi sử dụng multisite cho các trang web đa ngôn ngữ thay vì plugin. Ngoài ra, tôi có 1 chủ đề duy nhất cho mỗi ngôn ngữ (thường là chủ đề con của ngôn ngữ chính). Vì vậy, mỗi trang web của mạng đều có ngôn ngữ riêng, nhưng về phía quản trị viên, tôi cần tất cả các giao diện bằng tiếng Ý.

Vì vậy, những gì tôi làm là:

  1. Tôi không sử dụng hằng số WPLANG chung trong wp-config.php
  2. Tôi đặt tiếng Ý trong mỗi trang web của mạng
  3. Trong mỗi chức năng của chủ đề. Tôi sử dụng bộ lọc ở trên để kiểm soát ngôn ngữ / ngôn ngữ giao diện.

LƯU Ý: bộ lọc đó sẽ không thay đổi ngôn ngữ quản trị viên, do đó không cần kiểm tra xem is_admin ()


0

Nếu bất cứ ai vẫn đang tìm kiếm điều đó, đây là những gì bạn nên làm kể từ phiên bản 4.7

function wp_noshor_redefine_locale($locale) {
    if( is_admin() ):
        switch_to_locale('en_US');
    endif;
}
add_filter('init','wp_noshor_redefine_locale');

Điều này buộc bảng điều khiển tải bằng tiếng Anh, sau đó bạn có thể vào cài đặt, đặt ngôn ngữ bạn muốn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.