Ngôn ngữ khác nhau cho Frontend vs Backend


9

Tôi sử dụng gói WordPress tiếng Anh và điều này rất tốt.

Bây giờ, tôi muốn dịch một số yếu tố của blog (như "đăng trên", "bình luận"), v.v., nhưng không để giao diện bảng điều khiển nguyên vẹn bằng tiếng Anh.

Có bất kỳ cơ chế để dịch chỉ các yếu tố trang web?

Câu trả lời:


19

Bạn có thể làm như sau:

  1. Lấy gói ngôn ngữ (ví dụ de_DE.mo) từ wordpress.org . Nếu gói ngôn ngữ không có sẵn dưới dạng tải xuống độc lập, bạn cũng có thể sử dụng .motệp được gói trong tệp ZIP của WordPress cho ngôn ngữ của mình. Nằm dưới wp-content/languages.
  2. Di chuyển .motệp đến wp-content/languages/cài đặt WordPress mặc định (tiếng Anh) của bạn.
  3. Thay đổi WPLANGhằng số wp-config.phpthành ngôn ngữ mới (ví dụ de_DE)
  4. Trong functions.phpphần thêm bộ lọc sau:

Hàm.php

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

    return $locale;
}

Bây giờ, bạn có ý nghĩa gì khi "cài đặt gói ngôn ngữ của bạn"? Tôi có nên gỡ cài đặt wordpress và cài đặt wordpress mới, nhưng nói tiếng Pháp? Tôi không muốn gỡ cài đặt wordpress tiếng Anh của tôi.
serhio

1
Không, bạn không phải cài đặt lại bất cứ thứ gì. Chỉ cần tải xuống WP bằng ngôn ngữ mong muốn của bạn, sao chép tệp ngôn ngữ từ wp-content/languages/bản cài đặt tiếng Anh gốc WP của bạn và sửa đổi wp-config.phpnhư mô tả ở trên. Hoặc chỉ cần tải fr_FR.motập tin từ trang web này .
rofflox

Tôi không có wp-content/languages/thư mục, vì vậy tôi nên tạo nó. Sau khi thực hiện thao tác đó, tôi có ngược lại với những gì tôi sẽ làm. Bây giờ tôi có bảng quản trị bằng tiếng Rumani, nhưng trang (thậm chí đã đăng nhập hoặc không) - bằng tiếng Anh. Có lẽ tôi nên dịch chủ đề ...
serhio

Tất nhiên, bạn cần chủ đề dịch. Nhưng phần phụ trợ phải bằng tiếng Anh chứ không phải tiếng Rumani nếu bạn đặt is_admin()trong bộ lọc ở trên.
rofflox

1
xem thêm câu trả lời của tôi dưới đây cho WordPress v> = 4.7, cho phép người dùng xem Phần cuối bằng ngôn ngữ của họ
Serge

6

1
Chào mừng đến với trang web của chúng tôi. Vui lòng thêm một lời giải thích: Những plugin này là gì, sự khác biệt là gì?
fuxia

1
Tôi nghĩ rằng đang làm chính xác như vậy. (Tôi chỉ sử dụng cái đầu tiên ...) Bạn có thể cài đặt các tệp ngôn ngữ khác nhau và với các plugin, bạn có thể thay đổi ngôn ngữ cho phụ trợ một cách độc lập. Cả hai plugin đều cung cấp công tắc Bảng điều khiển cho ngôn ngữ, hộp chọn ngôn ngữ đăng nhập và tiện ích bổ sung vào trang hồ sơ cho ngôn ngữ dành riêng cho người dùng.
cung hoàng đạo1978

6

Kể từ phiên bản WordPress 4.7 , người dùng Backend khác nhau có thể đặt ngôn ngữ quản trị viên ưa thích của riêng họ bằng cách sử dụng bộ chọn ngôn ngữ WordPress gốc . Bằng cách này, họ thấy giao diện WordPress bằng ngôn ngữ của họ và có thể dễ dàng quản lý nội dung hơn. Ngôn ngữ khác nhau cho người dùng Backend trong Wordpress độc lập với ngôn ngữ Frontend


Mã đặt cho tất cả người dùng trên toàn cầu, mã này chỉ hoạt động trên một tài khoản cá nhân.
Motaz M. El Shazly

4

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.


4

Trong WordPress 5.x thật đơn giản để có được ngôn ngữ kết thúc và quay lại khác nhau

Để thay đổi ngôn ngữ trang web, hãy đi tới Cài đặt -> Chung -> Ngôn ngữ trang web và chọn ngôn ngữ trang web.

nhập mô tả hình ảnh ở đây

Đối với Bảng quản trị người dùng goto Người dùng -> Hồ sơ của bạn và chọn ngôn ngữ bạn muốn có trên Bảng quản trị

nhập mô tả hình ảnh ở đây

Vì vậy, tất cả các giải pháp trên đã trở nên tuyệt đối, mỗi người dùng có thể đặt ngôn ngữ riêng cho giao diện WordPress


Đây sẽ là câu trả lời được lựa chọn cho năm 2019+. Không có plugin cần thiết và giải pháp rất đơn giản. Cảm ơn bạn!
stason

Điều này thay đổi nó cho mỗi người dùng riêng lẻ, mã sẽ tự động thay đổi nó cho tất cả người dùng.
Motaz M. El Shazly

2

Câu trả lời cập nhật cho Wordpress 4+

Câu trả lời của @ rofflox vẫn đúng, nhưng đã có một số thay đổi đối với Wordpress có thể có tác dụng khi sử dụng chức năng 'như hiện tại' của anh ấy kể từ WP 4.0.

Hằng số wp-config không WPLANGđược dùng để cài đặt ngôn ngữ trang web thông qua danh sách thả xuống Settings->General. Điều này có nghĩa là, sau khi thay đổi ngôn ngữ trang web của bạn thành Svenka (ví dụ), quản trị viên trang web của bạn sẽ xuất hiện bằng tiếng Anh ... nhưng trình đơn thả xuống Ngôn ngữ trang web đó Settings->Generalsẽ được chọn trước là tiếng Anh (Hoa Kỳ) . Điều đó có nghĩa là, nếu bạn thay đổi cài đặt Chung sau này và quên chọn Svenka làm ngôn ngữ trang web của bạn một lần nữa, toàn bộ trang web sẽ trở lại tiếng Anh.

Tôi khuyên bạn nên tạo các chức năng trong functions.phptệp của mình như vậy:

//    Set the locale; original function from @rofflox

function vnmFunctionality_setLocale($locale) {
    if (is_admin()) {
        return 'en_US';
    }

    return $locale;
}

add_filter('locale', 'vnmFunctionality_setLocale');

// Enqueue a script to force-set the Language dropdown on the General Options page, just in case we forget about it later.

function vnmFunctionality_countryReminderScript($hook) {
    if ($hook != 'options-general.php') {
        return;
    }

    wp_enqueue_script('lang-reminder-script', get_template_directory() . '/js/site-language.js', array('jquery'), '1.0.0', true);

    wp_localize_script('lang-reminder-script', 'langObject', array(
        'lang'  => get_option('WPLANG'),
    ));
}

add_action('admin_enqueue_scripts', 'vnmFunctionality_countryReminderScript');

Và sau đó, một tệp Javascript có tên site-language.js(được lưu trong một /js/thư mục trong chủ đề của bạn) như vậy:

jQuery(document).ready(function($) {
    $('select#WPLANG').val(langObject.lang).change();
});

Điều này sẽ tự động chọn trước ngôn ngữ hiển thị hiện tại của trang web trong danh sách thả xuống trên trang Tùy chọn để bạn không phải nhớ thực hiện thủ công mỗi lần.


-1

Những gì bạn cần là để dịch chủ đề của bạn. Nếu chủ đề của bạn có tệp .pot thì rất dễ dịch. Chỉ cần làm theo các bước tại

http://www.apptheme.com/blog/how-to-translate-a-wordpress-theme/

Khác, bạn sẽ cần phải chỉnh sửa các tập tin chủ đề và thay đổi các từ tại mỗi trường hợp.


chủ đề của tôi (hai mươi mười) có thư mục "wp-content / Themes / fiften / Languages" và chỉ có một tệp .pot bên trong ...
serhio
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.