Bahasa yang berbeda untuk Frontend vs Backend

9

Saya menggunakan paket WordPress bahasa Inggris dan ini sangat baik.

Sekarang, saya ingin menerjemahkan beberapa elemen blog (seperti "diposting di", "komentar") dll, tetapi jangan biarkan antarmuka dasbor dalam bahasa Inggris.

Apakah ada mekanisme untuk menerjemahkan hanya elemen situs?

serio
sumber

Jawaban:

19

Anda dapat melakukan hal berikut:

  1. Dapatkan paket bahasa (mis. de_DE.mo) Dari wordpress.org . Jika paket bahasa tidak tersedia sebagai unduhan mandiri, Anda juga dapat menggunakan .mofile yang dibundel dalam file WordPress ZIP untuk bahasa Anda. Terletak di bawah wp-content/languages.
  2. Pindahkan .mofile ke wp-content/languages/instalasi WordPress default (bahasa Inggris) Anda.
  3. Ubah WPLANGkonstanta wp-config.phpke lokal baru (mis. de_DE)
  4. Di functions.phptambahkan filter berikut:

functions.php

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

    return $locale;
}
rofflox
sumber
sekarang, apa yang Anda maksud dengan "instal paket bahasa Anda"? saya harus menghapus instalan wordpress, dan menginstal wordpress baru, tetapi katakan Perancis? Saya tidak ingin menghapus instalasi wordpress bahasa Inggris saya.
serhio
1
Tidak, Anda tidak perlu menginstal ulang apa pun. Cukup unduh WP dalam bahasa yang Anda inginkan, salin file bahasa dari wp-content/languages/ke WP asli bahasa Inggris Anda, pasang dan modifikasi wp-config.phpseperti dijelaskan di atas. Atau cukup unduh fr_FR.mofile dari situs ini .
rofflox
Saya tidak punya wp-content/languages/folder, jadi saya harus membuatnya. Setelah melakukan manipulasi itu, saya memiliki sebaliknya dari apa yang saya inginkan. Saya sekarang memiliki panel admin di Rumania, tetapi halaman (bahkan login atau tidak) - dalam bahasa Inggris. Mungkin saya harus menerjemahkan tema ...
serhio
Tentu saja, Anda perlu tema yang diterjemahkan. Tetapi backend harus dalam bahasa Inggris bukan Rumania jika Anda mengatur is_admin()di filter di atas.
rofflox
1
lihat juga jawaban saya di bawah untuk WordPress v> = 4.7, yang memungkinkan pengguna untuk melihat Backend dalam bahasa mereka sendiri
Serge
6

Anda dapat menggunakan plugin untuk itu: http://wordpress.org/extend/plugins/kau-boys-backend-localization/ atau http://wordpress.org/extend/plugins/wp-native-dashboard/

zodiac1978
sumber
1
Selamat datang di situs kami. Silakan tambahkan penjelasan: Apa yang dilakukan plugin ini, apa perbedaannya?
fuxia
1
Saya pikir ada melakukan hal yang persis sama. (Saya hanya menggunakan yang pertama ...) Anda dapat menginstal file bahasa yang berbeda dan dengan plugin Anda dapat mengubah bahasa untuk backend secara mandiri. Kedua plugin menyediakan sakelar Dashboard untuk bahasa, kotak pilih bahasa login dan tambahan pada halaman profil untuk bahasa khusus pengguna.
zodiac1978
6

Sejak WordPress versi 4.7 , pengguna Backend yang berbeda dapat mengatur bahasa admin pilihan mereka sendiri menggunakan pemilih bahasa WordPress asli . Dengan cara ini, mereka melihat antarmuka WordPress dalam bahasa mereka dan dapat lebih mudah mengelola konten. Bahasa berbeda untuk pengguna Backend di Wordpress terlepas dari bahasa Frontend

Serge
sumber
Kode menetapkan bahwa untuk semua pengguna secara global, ini hanya berfungsi pada akun individual.
Motaz M. El Shazly
4

Jika ada yang masih mencari itu, inilah yang harus Anda lakukan sejak versi 4.7

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

Ini memaksa dasbor untuk memuat dalam bahasa Inggris, maka Anda dapat pergi ke pengaturan, mengatur bahasa yang Anda inginkan.

Motaz M. El Shazly
sumber
4

Di WordPress 5.x sebenarnya sangat mudah untuk mendapatkan frond dan back end language yang berbeda

Untuk mengubah bahasa situs, buka Pengaturan -> Umum -> Bahasa Situs dan pilih bahasa situs.

masukkan deskripsi gambar di sini

Untuk Pengguna Panel Admin -> Profil Anda dan pilih bahasa yang ingin Anda miliki di Panel Admin

masukkan deskripsi gambar di sini

Jadi semua solusi di atas telah menjadi mutlak, setiap pengguna dapat mengatur bahasa mereka sendiri untuk antarmuka WordPress

EckyBrazzz
sumber
Ini harus menjadi jawaban yang dipilih untuk 2019+. Tidak diperlukan plugin dan solusinya sangat sederhana. Terima kasih!
stason
Ini mengubahnya per setiap pengguna secara individual, kode akan mengubahnya secara otomatis ke semua pengguna.
Motaz M. El Shazly
2

Jawaban yang diperbarui untuk Wordpress 4+

Jawaban @ rofflox masih benar, tetapi ada beberapa perubahan pada Wordpress yang dapat memiliki efek ketika menggunakan fungsinya 'apa adanya' sejak WP 4.0.

Konstanta wp-config WPLANGtelah ditinggalkan karena pengaturan bahasa situs melalui dropdown di Settings->General. Ini berarti bahwa, setelah mengubah bahasa situs Anda ke Svenka (misalnya), admin situs Anda akan muncul dalam bahasa Inggris ... tetapi dropdown Bahasa Situs Settings->Generalakan lebih dulu dipilih sebagai Bahasa Inggris (Amerika Serikat) . Itu berarti, jika Anda membuat perubahan pada pengaturan Umum Anda nanti dan lupa untuk memilih Svenka sebagai bahasa situs Anda lagi, seluruh situs akan kembali ke bahasa Inggris.

Saya akan merekomendasikan membuat fungsi dalam functions.phpfile Anda seperti:

//    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');

Dan kemudian file Javascript disebut site-language.js(disimpan dalam /js/folder di tema Anda) seperti:

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

Ini harus secara otomatis pra-pilih bahasa tampilan situs saat ini di dropdown pada halaman Opsi, sehingga Anda tidak harus ingat untuk melakukannya secara manual setiap kali.

indextwo
sumber
-1

Yang Anda butuhkan adalah menerjemahkan tema Anda. Jika tema Anda memiliki file .pot maka mudah untuk menerjemahkan. Ikuti saja langkah-langkahnya di

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

Selain itu, Anda perlu mengedit file tema dan mengubah kata-kata pada setiap instance.

pengguna8388
sumber
tema saya (dua puluh sepuluh) memiliki folder "wp-content / themes / twentyten / languages" dan hanya ada file .pot di dalam ...
serhio