Ada argumen kedua dalam __()
fungsi ini. Ini harus diatur ke domain yang Anda gunakan untuk plugin atau tema Anda. Dalam contoh di bawah ini saya gunakan 'text_domain'
. String domain Anda harus unik. Seharusnya tidak cocok dengan string domain lainnya. Tidak menggunakan argumen domain teks default ke 'default'
nama domain WordPress. Lihat tautan untuk detail lebih lanjut.
Selalu gunakan string ( 'text_domain'
). Jangan pernah menggunakan variabel, fungsi atau konstanta dengan string di dalamnya. Sebagian besar (semua?) Program terjemahan tidak akan melihatnya tanpa string di sana.
Kode Anda:
echo __( 'Hello ' . $first . ' you own me money.' );
Jangan sertakan variabel dalam string.
Cara yang lebih baik:
echo sprintf( __( 'Hello %s you own me money.', 'text_domain' ), $first );
Atau hanya:
printf( __( 'Hello %s you own me money.', 'text_domain' ), $first );
The %s
placeholder menceritakan penerjemah manusia yang string akan di sana. Gunakan %d
untuk angka. Ada juga placeholder lainnya .
(Kalimat ini secara tata bahasa Inggris salah. Gunakan salah satu 'Hello %s, you owe me money.'
atau 'Hello %s, you own my money.'
tergantung pada maksud Anda.)
Kode Anda:
$html = '<div><p>Top: ' . $t_margin . '</p>' . <p>Bottom: ' . $b_margin . '</p></div>';
Jangan terjemahkan HTML. Itu sama dalam bahasa apa pun.
Cara yang lebih baik:
$html = sprintf( '<div><p>%s</p><p>%s</p></div>', __( 'Top: ', 'text_domain' ) . $t_margin, __( 'Bottom: ', 'text_domain' ) . $b_margin );
Atau pisahkan menjadi beberapa baris:
$html = sprintf(
'<div><p>%s</p><p>%s</p></div>',
__( 'Top: ', 'text_domain' ) . $t_margin,
__( 'Bottom: ', 'text_domain' ) . $b_margin
);
Jika tidak jelas apa Atas dan Bawah Anda dapat menggunakan _x()
untuk menjelaskan konteks istilah-istilah ini.
Anda dapat menemukan kasus terjemahan lain di sini: Internasionalisasi: Anda mungkin salah melakukannya