Translasi Bahasa Pada Theme WordPress

Translasi Bahasa Pada Theme WordPress

Membuat theme ataupun plugin wordpress merupakan sebuah pekerjaan yang mudah, terlebih lagi saat ini banyak dokumentasi lengkap yang telah disediakan maupun tutorial yang dapat…

Membuat theme ataupun plugin wordpress merupakan sebuah pekerjaan yang mudah, terlebih lagi saat ini banyak dokumentasi lengkap yang telah disediakan maupun tutorial yang dapat Anda ikuti step by step di internet. Nah, Dalam artikel ini Anda akan menemukan bagaimana theme yang dibangun dapat diubah atau ditranslasi ke berbagai bahasa.

Fungsi Localization Wordpress

_e() Fungsi ini sama seperti echo atau print, dia akan mencetak teks translasi. Memiliki dua parameter, yang pertama adalah string yang akan ditranslasi dan yang kedua localization key. Localization key bisa Anda artikan sebagai context, domain, ataupun identitas unik dari theme atau plugin.

_e("Translate me!", "localization_key");

__() Fungsi ini sama dengan fungsi _e(), tapi bukan untuk mencetak melainkan mengembalikan teks translasi.

echo __("Translate me!", "localization_key");

_n() Fungsi ini digunakan ketika sebuah string memiliki bentuk plural, misal pada kata “1 comment” dan “x comments” sebagai bentuk pluralnya. Memiliki tiga parameter, yang pertama adalah string singular, kedua bentuk plural-nya dan terakhir fungsi referensi dari bentuk plural atau bukan.

echo _n('There is a comment','There are comments', get_comments_number());

esc_html_e() dan esc_html__() Kedua fungsi ini sama saja dengan _e() dan __(), hanya saja kedua fungsi ini mengembalikan encoded text

printf() Ketika ada nilai string translasi yang diambil dari sebuah variabel atau kembalian dari sebuah fungsi, maka fungsi ini akan sangat membantu untuk hal itu. Contoh kasus penulisan seperti ini

$color=the_color();

_e("You have chosen the $color theme");

File po tidak membolehkan pemberian variabel di dalam string translasi, sehingga pada contoh diatas dia akan mengabaikan variabel $color. String translasi yang ter-submit jadinya akan seperti ini “You have chosen the $color theme”. Untuk menghindari kesalahan seperti itu, maka trik yang bisa anda gunakan adalah dengan memanfaatkan fungsi ini

printf( __('You have chosen the %s theme.'),the_color());

sprintf() Fungsi ini akan mengembalikan string translasi yang diberikan. Pembeda fungsi ini dengan printf tampak sama dengan pembeda fungsi __() dengan _e().

echo sprintf(__('You have chosen the %s theme.'),the_color());

File Translasi

Portable Object Template (POT). POT adalah template dari file translasi, berisi semua string theme atau plugin yang nantinya ditranslasi.

Portable Object (PO). PO merupakan file translasi dan pastinya berisi string theme dengan string translasinya. File ini bisa di generate dari POT file. Sama seperti file POT, file ini juga masih dapat langsung diedit dengan text editor.

Machine Object (MO). Merupakan versi binary dari file PO. Dengan menggunakan file ini, mesin translasi akan membaca lebih cepat dari sebuah file teks. 

 

PoEdit

Tampilan poEdit

 

Sesuai namanya, tool ini merupakan editor khusus untuk mengedit string theme dengan translasinya. Tool ini juga bisa membuat PO file dengan hanya klik menu yang ada. Selain itu, PoEdit bisa men-scan semua string yang ada pada theme sehingga Anda hanya memasukkan string translasinya. PoEdit ini memang benar-benar sangat membantu ketika Anda berurusan dengan localization di wordpress.

Download: http://www.poedit.net/download.php

 

Step by step localization wordpress

1. Buat file PO (Portable object)

Untuk membuat file ini, Anda dapat memanfaatkan tool PoEdit. Buka tool ini kemudian klik File > New Catalog untuk memulai membuat file translasi. Pertama Anda harus memberikan beberapa informasi tentang file translasi yang akan Anda buat.

Memberikan Beberapa Informasi

 

Lanjut ke tab selanjutnya dan isi path theme wordpress anda disini. Disini tidak ada menu browse file, sehingga anda harus meng-copy paste alamat theme pada textfield yang disediakan.

New Catalog – Path

 

Pada tabKeyword”, isi beberapa fungsi wordpress pada list item yang telah disediakan. Fungsi yang anda masukkan merupakan referensi terhadap fungsi agar mengambil string theme mana saja yang dapat ditranslasi. 

New Catalog – Keyword

 

Setelah itu akan muncul dialog box yang menanyakan nama file translasi dan dimana Anda ingin menyimpannya. Jika semuanya berjalan dengan baik, akan muncul loading box yang menandakan bahwa theme sedang dalam proses scanning. Setelah semuanya selesai Anda akan mendapatkan file translasi .po dan ikut juga file .mo nya.

PoEdit Editor

 

Dari gambar diatas, ada dua kolom yang tampak di PoEdit, yang pertama adalah original string yaitu semua string yang ada dalam theme, kemudian yang kedua adalah string translasi nya. Yang harus anda lakukan adalah membuat string translasi dari pasangan original string dengan string translasi disebelahnya, kemudian simpan file ini dengan klik File > Save atau tekan Ctrl+s. Agar file .mo juga ikut teredit ketika tersimpan, maka dapat dilakukan dengan cara mengaktifkan optionAutomatically compile .mo file on save” pada menu Edit > Preference

File PO yang berhasil dibuat, jika Anda buka pada editor notepad akan terlihat seperti ini

msgid ""
msgstr ""
"Project-Id-Version: xxxxx-Indonesia\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-23 13:54+0700\n"
"PO-Revision-Date: 2012-06-23 13:54+0700\n"
"Last-Translator: Rhoss88 <muse.punya.mail@gmail.com>\n"
"Language-Team: Mimi <contact@mimicreative.net>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-KeywordsList: _;gettext;gettext_noop;esc_html__;esc_html_e;esc_attr__;esc_attr_e\n"
"X-Poedit-Basepath: .\n"
"X-Poedit-Language: Indonesian\n"
"X-Poedit-Country: INDONESIA\n"
"X-Poedit-SourceCharset: utf-8\n"
"X-Poedit-SearchPath-0: /var/www/xxxxx/wp-content/themes/xxxx\n"

#: /var/www/xxxxx/wp-content/themes/xxxxx/page-gallery.php:51
msgid "Zoom in"
msgstr ""

#: /var/www/xxxxx/wp-content/themes/xxxxx/page-gallery.php:52
#: /var/www/xxxxx/wp-content/themes/xxxxx/page-template-portfolio.php:105
msgid "Read more"
msgstr ""

2. Tambahkan script berikut pada functiontheme

load_theme_textdomain( 'localization_key', get_template_directory().'/languages' );

$locale = get_locale();

$locale_file = get_template_directory()."/languages/$locale.php";

if ( is_readable($locale_file) ) require_once($locale_file);

load_theme_textdomain akan meload localization file mo dengan nama localization_key.   3. Setting WordPress Terakhir adalah setting variabel global WPLANG agar membaca file translasi. Variabel ini berada pada file wp_config.

/**

* WordPress Localized Language, defaults to English. 

* Change this to localize WordPress. A corresponding MO file for the chosen 

* language must be installed to wp-content/languages. For example, install 

* de_DE.mo to wp-content/languages and set WPLANG to 'de_DE' to enable German 

* language support.

*/

Define ('WPLANG',id_ID);

Codestyling Localization Plugin

Codestyling Plugin

Jika Anda ingin membuat dan mengedit file translasi secara langsung di halaman admin, anda dapat menggunakan plugin Codestyling Localization. Plugin ini dapat menggantikan editor PoEdit dalam hal meng-generate file po dan mo. Plugin ini juga support WordPress MU dan juga file translasi yang dibuat dengan plugin ini akan 100% kompatibel dengan editor PoEdit.

Download: http://wordpress.org/extend/plugins/codestyling-localization/

Tag: ,

2 Comments

Leave Comment
  1. AneukIgoe says:

    Artikelnya mantap ni pak.. Ane kebetulan juga sedang mencari infomasi mengenai cara translasi theme di situs sane.. Smoga artikel ini dapat membantu ane, hehe..

  2. ane ngak mudeng gan, kenapa waktu buat file pertama di poedit kok yang muncul ngak seperti di gambar sih.

Write Comment

Your email will not be published. The marked label is required.