http://wordpress.org/extend/plugins/bbpress/ folder bahasa bbpress '(wp-content / plugins / bbpress / bbp-languages) memiliki peringatan itu:
/**
* Do not put custom translations here. They will be deleted on bbPress updates.
*
* Keep custom bbPress translations in /wp-content/languages/
*/
Sebenarnya ini bukan masalah baru dan ya mereka benar. Ini adalah masalah besar jika Anda menggunakan plugin wordpress dengan bahasa non-Inggris.
Pada dasarnya saya menerjemahkan bbpress dan membuat file .po dan .mo. File berfungsi jika saya meletakkannya di folder normal wp-content / plugins / bbpress / bbp-languages. Tetapi seperti peringatan di atas mengatakan bahwa itu akan dihapus saat pembaruan. Tetapi masalahnya adalah, menerjemahkan tidak berfungsi jika saya menempatkannya di wp-content / languages / folder seperti yang disarankan di bbpress.
Saya pikir harus ada pengait atau sesuatu yang bisa saya aktifkan tetapi apa solusi terbaik untuk itu? Cukup saya ingin menyimpan file bahasa plugin di wp-content / languages /
sumber
Jawaban:
Anda harus mengganti panggilan ke file bahasa BBpress.
Tempat yang baik untuk melakukan ini adalah file khusus bahasa di direktori bahasa umum Anda. Untuk bahasa Turki, file itu mungkin bernama
tr_TR.php
. Ini akan dimuat secara otomatis dan hanya jika itu cocok dengan bahasa blog Anda. Itu tidak akan ditimpa.BBPress tidak menggunakan fungsi
load_plugin_textdomain
, melainkan menggunakanload_textdomain
. Di sini Anda dapat menemukan filter:Jadi dalam file php bahasa Anda, tambahkan saja filter untuk mengubah jalur:
sumber
WP_LANG_DIR
) ditambah file-file Anda.load_plugin_textdomain()
panggilan Anda selama aksi "init", jika tidak, kami tidak dapat terhubung ke filter "load_textdomain_mofile". Sudah terlambat sudah saat itu.Yang harus Anda lakukan adalah membuat plugin sederhana yang akan mengelola text_domain dari plugin yang diinstal. Jika Anda tidak ingin memiliki solusi global, Anda dapat menambahkan kode ke functions.php Anda di tema Anda.
Idenya adalah untuk menginstruksikan wordpress di mana menemukan terjemahan. Secara internal di semua plugin ini dilakukan dengan menggunakan sesuatu yang mirip
ini adalah fungsi yang akan Anda gunakan. Seperti yang Anda lihat di sini , argumen terakhir digunakan untuk mengatur relatif ke jalur plugin, tempat file terjemahan berada.
Anda dapat melakukan apa yang Anda inginkan dengan meletakkan satu baris untuk setiap plugin yang ingin Anda ubah folder bahasa mereka sebagai berikut.
ini akan memerintahkan wordpress untuk memuat file terjemahan khusus Anda dari folder di sebelah
plugins
folder yang memiliki folder bernamabbpress
yang memiliki file terjemahan menggunakan penamaan yang sama persis seperti yang digunakan setiap plugin.Metode Anda, yang menginstruksikan textdomain untuk semua plugin, harus dijalankan pada
init
fase sebagai berikut(Jangan lupa untuk menandai ini sebagai jawaban jika Anda merasa itu berguna)
sumber
Agar ini berfungsi, Anda harus memiliki file terjemahan WordPress di WP_LANG_DIR, dan mengatur global global untuk bahasa itu. Jika Anda hanya menyertakan terjemahan untuk bbPress tanpa mengubah lokal atau memiliki file terjemahan inti WordPress, tidak ada yang akan menerjemahkan meskipun Anda memuatnya.
Jika Anda ingin mengganti lokal untuk bbPress saja, Anda perlu menambahkan filter ke 'bbpress_locale' yang memungkinkan Anda untuk menimpa file mo bbPress.
Meskipun benar bahwa bbPress 2.0 menggunakan fungsi load_textdomain (), load_plugin_textdomain () hanyalah pembungkus untuk load_textdomain (). Metode bbPress 2.0 lebih kuat dan memungkinkan untuk penempatan file terjemahan global, sehingga Anda tidak kehilangan mereka selama pembaruan plugin.
sumber
Dalam kasus saya membuat terjemahan khusus permanen untuk plugin membutuhkan langkah-langkah berikut (contoh untuk terjemahan plugin ACF):
wp-content/languages/plugins/
direktori.po
darilang/
folder plugin (atau yang lainnya dengan terjemahan) untuk dibuatwp-content/languages/plugins/
(misalnya darilang/acf-pl_PL.po
kewp-content/languages/plugins/acf-pl_PL.po
).po
file dan kemudian menghasilkan.mo
dan menyimpanwp-content/languages/plugins/
(misalnyawp-content/languages/plugins/acf-pl_PL.mo
)Dengan cara ini, terjemahan harus dipertahankan bahkan setelah pembaruan plugin.
Saya tidak yakin apakah strategi ini akan berhasil untuk semua plugin tetapi ini patut dicoba.
sumber