Bagaimana cara printf (__ ()); kerja?

12

Hari ini saya mengerjakan tema untuk mendapatkan pemahaman yang lebih baik tentang WordPress dan templating. Saya menemukan ini:

<?php 
printf( 
    __('Designed by %s', 'Anyword'), 
    '<a href="http://www.example.com">Blub</a>'
); 
?>

Saya tahu ini menunjukkan "Dirancang oleh Blub" (Di mana Blub terhubung) Tapi apa __()artinya atau mengapa ada masukkan string? Untuk apa Anyword itu?

Dapatkah seseorang dengan tepat menjelaskan kalimat ini untuk saya?

Denny Mueller
sumber

Jawaban:

8

Ini digunakan untuk menerjemahkan teks .

Argumen kedua adalah semacam namespace (disebut domain di sini) untuk mengambil terjemahan (misalnya dari file khusus atau sesuatu yang lain).

Jadi di Anywordsini, harus menjadi orang di balik template, atau perusahaan atau apa pun yang bisa menjadi domain / namespace.

edit:

Doc dari wordpress memberikan penjelasan lebih lanjut tentang cara menginternasionalkan sebuah plugin :


Tambahkan ini ke kode Plugin untuk memastikan file bahasa dimuat:

load_plugin_textdomain('your-unique-name', false, basename( dirname( __FILE__ ) ) . '/languages' );

Untuk mengambil string cukup gunakan __('String name','your-unique-name');untuk mengembalikan terjemahan atau _e('String name','your-unique-name');untuk menggemakan terjemahan. Terjemahan kemudian akan masuk ke folder plugin / bahasa Anda.


Untuk plugin / tema Anda, your-unique-namesepertinya begitu Anyword.

j0k
sumber
Ada beberapa file bahasa dalam tema. Bagaimana argumen itu tahu untuk menggunakannya hanya untuk 'Anyword'?
Saya telah memperbarui jawaban saya dengan bagian yang lebih baik dari WP doc.