Saya punya plugin yang menempatkan status posting ke dalam menu admin tipe posting. Saya tengah menginternasionalkannya, dan saya bertanya-tanya bagaimana menangani situasi ini.
Plugin menggunakan beberapa string unik yang akan mendapatkan textdomain seperti ini:
__( 'Select the post statuses to <strong>exclude</strong> from post type admin menus', 'csmpmsi' )
Tapi kemudian ada juga kasus di mana saya menggunakan kata yang berhubungan dengan inti makna terkait inti-mereka seperti ini: __( 'Pages' )
. Dalam situasi ini, tampaknya masuk akal bagi saya untuk mengecualikan domain teks dan memanfaatkan istilah yang sudah terlokalisasi di inti. Namun, kodeks tersebut tampak sangat eksplisit:
Jika Anda mencoba menerjemahkan plugin, saran yang sama seperti di atas berlaku, kecuali itu
Anda harus menggunakan domain, yang dimuat di hook plugin Anda
setiap panggilan terjemahan harus menjadi __ ('teks', 'nama-domain')
Jadi ini WP-halal?
sumber
Jawaban:
Jangan pernah mengandalkan string inti untuk terjemahan, mereka dapat mengubah atau mendapatkan
context
parameter kapan saja. Setelah itu terjadi, pengguna Anda mendapatkan antarmuka yang diterjemahkan sebagian, dan penerjemah Anda tidak memiliki cara untuk memperbaikinya.Juga perlu diingat senar yang sama tidak perlu diterjemahkan di mana-mana dengan kata yang sama. Bahkan tanpa parameter konteks mungkin berguna untuk menggunakan terjemahan berbeda untuk plugin Anda dalam beberapa bahasa. Tetapi ini tidak akan mungkin terjadi jika Anda tidak memasukkan string ke dalam plugin Anda.
Lihat diskusi obrolan yang kami lakukan beberapa hari lalu tentang topik ini.
sumber
Ya, tapi tolong jangan. Ini seperti standar pengkodean, lebih baik mengikutinya bahkan ketika Anda bisa mendapatkan keuntungan kecil dengan mem-bypassnya.
Alasan yang lebih baik:
Dalam versi 3.5 WordPress tidak memiliki file terjemahan monolith, itu dipecah menjadi 3 bagian karena alasan kinerja. Jika tren ini terus berlanjut, dapatkah Anda yakin bahwa domain default akan dimuat sama sekali ketika Anda mencoba menggunakannya
__('Pages')
?Anda tidak menyimpan pekerjaan ke pelokalan - Alat terjemahan seperti poedit tidak tahu bagaimana menangani dua domain terjemahan dalam satu file, dan dalam contoh Anda mereka akan menghasilkan file .po yang berisi kata 'Halaman' bahkan jika Anda gunakan domain default untuk itu. Pelokalan tidak memeriksa penggunaan sebenarnya dari string yang dia terjemahkan kecuali dia perlu memahami konteksnya sehingga dia tidak akan melihat domain yang berbeda dan akan menerjemahkan kata tersebut. Selain itu, jika pelacak tahu alatnya, ia akan memiliki DB terjemahan berdasarkan file terjemahan inti WordPress dengan cara yang memungkinkan poedit untuk menerjemahkan secara otomatis kata-kata seperti 'Halaman'.
sumber
Kamu bisa mencobanya
Atau
Referensi : https://v123.tw/use-wordpress-core-translation/
Semoga berhasil!!
sumber