__
(garis bawah ganda) adalah fungsi terjemahan dasar. Ini menerjemahkan string dan mengembalikannya sebagai string.
_e
melakukan hal yang sama __
, tetapi gema hasilnya segera.
_x
adalah fungsi menerjemahkan kontekstual. Ini memiliki opsi kedua untuk memberikan konteks kepada orang yang melakukan terjemahan.
_ex
sama dengan _x
, tetapi gema hasilnya.
Contoh menggunakan _x
:
$string = _x( 'Buffalo', 'an animal', 'plugin-domain' );
$string = _x( 'Buffalo', 'a city in New York', 'plugin-domain' );
$string = _x( 'Buffalo', 'a verb meaning to confuse somebody', 'plugin-domain' );
Terkadang string yang sama dapat berbeda dalam bahasa lain. Memberikan konteks kepada penerjemah dapat membantu mereka memilih kata yang tepat.
Fungsi pintasan:
esc_attr__
: Setara dengan __
tetapi juga menjalankan hasilnya esc_attr
.
esc_html__
: Setara dengan __
tetapi juga menjalankan hasilnya esc_html
.
esc_attr_e
: Setara dengan _e
tetapi juga menjalankan hasilnya esc_attr
.
esc_html_e
: Setara dengan _e
tetapi juga menjalankan hasilnya esc_html
.
esc_attr_x
: Setara dengan _x
tetapi juga menjalankan hasilnya esc_attr
.
esc_html_x
: Setara dengan _x
tetapi juga menjalankan hasilnya esc_html
.
_n
adalah penangan pluralisasi. Contoh:
$string = sprintf( _n(
'You have %d taco.',
'You have %d tacos.',
$number,
'plugin-domain'),
$number );
Dalam contoh itu, ada dua cara untuk mengatakan jumlah taco, tergantung pada apakah itu tunggal atau tidak. Penggunaan pertama dari $ number memberitahu _n
fungsi versi mana yang digunakan. Penggunaan $ number yang kedua terjadi di sprintf, untuk mengganti% d dengan angka aktual dalam string.
Tidak ada fungsi gema yang setara untuk _n
, tetapi ada fungsi bernama _nx
. Ini kombinasi dari _n
dan _x
. Pluralisasi dan konteks.
_n_noop
adalah yang spesial. Ini digunakan untuk menerjemahkan string jamak, tetapi tidak benar-benar melakukan terjemahan segera. Ini berguna jika Anda ingin membuat string terpusat tetapi benar-benar melakukan pekerjaan di tempat lain. Fungsi yang sebenarnya melakukan pekerjaan di tempat lain adalah translate_nooped_plural
.
Contoh:
$holder = _n_noop('You have %d taco.', 'You have %d tacos.', 'plugin-domain');
// ... later ...
$string = sprintf( translate_nooped_plural( $holder, $count ), $count );
Ini tidak banyak digunakan, tetapi bisa berguna untuk organisasi. Jika Anda meletakkan semua string Anda dalam satu file, misalnya, lalu referensi mereka di tempat lain, ini tidak akan mungkin dengan hanya _n
, Anda perlu sesuatu seperti _n_noop
melakukan itu.
_nx_noop
sama dengan _n_noop
, tetapi juga dapat mengambil konteks untuk para penerjemah, sama seperti _x
.
Perhatikan bahwa Anda dapat memasukkan domain ke panggilan fungsi noop, atau ke panggilan fungsi translate_nooped_plural. Mana yang lebih masuk akal untuk organisasi Anda. Jika keduanya memiliki domain, maka yang diteruskan ke panggilan telepon menang.
number_format_i18n
adalah setara dengan number_format bawaan PHP , tetapi menambahkan penanganan untuk hal-hal seperti desimal dan sebagainya, yang berbeda di lokal lain.
date_i18n
adalah setara dengan PHP built-in tanggal , dengan semua terkait penanganan sana juga. Nama bulan, nama hari, dll.
Juga, jangan pernah melanggar hukum . Hanya pengingat. :)