Terjemahkan plugin menggunakan file .po .mo

34

Saya ingin menerjemahkan plugin ini .

Plugin telah diterjemahkan ke dalam bahasa lain dan memiliki .potfile untuk menambahkan bahasa baru (sejauh yang saya mengerti dari deskripsi).

Bagaimana cara membuat .podan .mofile untuk bahasa baru saya dan membuatnya dapat diakses sehingga dapat digunakan oleh plugin? Saya sudah mencoba mendefinisikan bahasa Rusia di wp-config.phpfile saya dengan memasukkan definisi di bawah ini:

define ('WPLANG', 'ru_RU');
Shimon S
sumber

Jawaban:

44

Editor

Ada yang lain, tetapi ini paling sering digunakan: Poedit , editor gettext katalog (file .po) lintas-platform.

Format

  • .mosingkatan dari Machine Object
    - kompilasi ekspor .pofile yang digunakan oleh WordPress
  • .posingkatan dari Portable Object
    - file teks yang dapat diedit dengan string terjemahan
    - berdasarkan pada .potfile master , menggunakan Pembaruan dari file POT fungsi PoEdit
    - beberapa orang mendistribusikan ini sebagai file master, tetapi harus digunakan hanya untuk terjemahan
  • .potsingkatan dari Portable Object Templat
    - file teks yang dapat diedit digunakan untuk mengambil semua string yang dapat diterjemahkan dari WordPress itu sendiri dan Tema dan Plugin, menggunakan Pembaruan dari fungsi PoEdit sumber

Prosedur

  • Gandakan file .pot dan ganti namanya menjadi plugin-basename-lang_COUNTRY.po
  • Contoh untuk kasus plugin yang dirujuk: - pt_BR berarti Portugis Brasil, tetapi banyak bahasa tidak memiliki variasi negara ... - Anda harus mengisi dengan bahasa Anda sendirisubscribe-reloaded-pt_BR.po

  • WPLANGdalam wp-config.phpfile harus diatur ke bahasa Anda, misalnya,pt_BR
  • Setiap kali Anda menyimpan .pofile, PoEdit secara otomatis menghasilkan .mofile, yang merupakan satu-satunya penggunaan WordPress dan pada dasarnya satu-satunya yang Anda perlu unggah

Pengamatan

  • Jika Anda melakukan terjemahan parsial penuh atau layak, kirimkan ke pembuat plugin sehingga ia dapat memasukkannya ke dalam Repositori dan Anda akan dikreditkan untuk itu
  • Jangan lupa untuk membuat cadangan terjemahan Anda, karena jika Anda meningkatkan plugin file Anda akan hilang
  • @ plugin saran pengguna17078 cukup bagus, tapi saya tidak pernah menggunakannya banyak
brasofilo
sumber
1
Berapa lama file mo / po baru seharusnya berlaku?
Nemo
8

Anda dapat mencoba ini codestyling-lokalisasi Plugin: . Anda dapat menerjemahkan plugin dan tema menggunakan ini.

Aristeides
sumber
1
Ini adalah plugin terjemahan terbaik yang pernah saya lihat. Plugin ini dapat memiliki poedit kapan saja dan yang terbaik adalah itu gratis dan ramah pengguna. Jawaban ini harus dipilih minimal.
Gogol
1
Tidak ada lagi.
Chris Cox
1
Ini terlihat seperti alternatif yang baik: wordpress.org/plugins/say-what
jetlej
@jetlej menarik, sepertinya tidak berfungsi untuk file po saya: /
Nemo
8

(Ini adalah CONTOH terjemahan ke DEUTSCH. GANTI kebiasaan ke yang DIINGINKAN ANDA.)

di setiap kepala plugin, ada nama yang unik. (sebagai contoh:

/*
Plugin Name: my-pluginname
.......
*/

lalu, di folder plugin itu, buat folder "bahasa";

kemudian, ke file .php plugin Anda (di suatu tempat di atas), masukkan kode inisialisasi:

class load_language 
{
    public function __construct()
    {
    add_action('init', array($this, 'load_my_transl'));
    }

     public function load_my_transl()
    {
        load_plugin_textdomain('my-pluginname', FALSE, dirname(plugin_basename(__FILE__)).'/languages/');
    }
}

$zzzz = new load_language;

kemudian buka editor teks apa pun, kemudian masukkan seperti kode ini (CATATAN, BAHWA kami hanya menambahkan dua pesan sampel, "halo" dan "sampai jumpa", jadi, Anda dapat MENAMBAH SEBAGAI BANYAK pesan SEPERTI YANG ANDA INGINKAN dengan baris yang sama).

# English translations for PACKAGE package.
# Copyright (C) 2012 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Automatically generated, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: my-pluginname 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-08-06 13:46-0400\n"
"PO-Revision-Date: 2013-03-21 11:20+0400\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"X-Poedit-SourceCharset: iso-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 1.5.4\n"


#: mypluginindex.php:87 (it is just a line of a note, to remind where our code appears)
msgid "mymessage1"
msgstr "Hello"

#: mypluginindex.php:88
msgid "mymessage2"
msgstr "Bye"

kemudian simpan file ini sebagai "my-pluginname-en_US.po" (perhatikan, bahwa .po adalah ekstensi file, jadi periksa apakah program editor teks Anda belum disimpan ke "my-pluginname-en_US.po.TXT").

kemudian unduh perangkat lunak POEDIT, dan buka file ini. kemudian edit bidang "terjemahan", dan kemudian simpan sebagai "my-pluginname-de_DE" di sana akan dihasilkan dua file (Jika poEdit tidak menghasilkan file .mo kedua secara otomatis, cukup buka File -> Preferences -> Editor dan periksa kotak yang mengatakan "Secara otomatis mengkompilasi file .mo di save"),

lalu masukkan kedua file itu ke folder "bahasa".

setelah ini, buka wp-config.php dan cari kode ini:

define ('WPLANG, '');

dan ubah ke

define ('WPLANG, 'de_DE');

Itu saja. Ketika WordPress dimuat, itu akan membaca file bahasa plugin Anda, dengan awalan -de_DE.

Jadi, dalam file .php plugin, alih-alih:

echo "Something string";

kamu harus menggunakan:

echo __("mymessage1", 'my-pluginname');



Jadi. Sekarang Anda harus menguji plugin Anda.

ps tautan yang digunakan:

T.Todua
sumber
Saya mencoba ini dengan tema saya. Di header.php, saya punya echo __("thanks-for-visiting", 'transparent');. Dalam theme \ languages ​​\ transparent-en_US.po, saya punya msgid "thanks-for-visiting" msgstr "Hello! Thank you for visiting. Take a look around and subscribe to the ". Ini menghasilkan "terima kasih atas kunjungan" di ujung depan.
Steve
5

Anda akan ingin menggunakan POEdit . Ini adalah aplikasi gratis untuk membuat file .po / .mo.

Saya menulis tutorial yang cukup mendalam tentang seluruh topik di sini . Anda dapat melompat ke Langkah 3 - Membuat File Terjemahan Untuk Domain Teks.

Pippin
sumber