PO ke MO Converter
Kompilasi file .po sumber terjemahan GNU gettext menjadi file binary .mo, siap untuk PHP, Python, WordPress, atau aplikasi berbasis gettext apa pun. Berjalan sepenuhnya di browser Anda — tanpa upload.
Input
Baca sebagai teks UTF-8 dan jatuh langsung ke kotak di atas.
Output
Panduan
File .po adalah setengah yang dapat diedit dari terjemahan GNU gettext — teks biasa, satu pasang msgid/msgstr per string. Namun, tidak ada yang benar-benar memuat terjemahan di saat runtime membacanya secara langsung: PHP, Python, glibc, dan WordPress semua mengharapkan format binary .mo (Machine Object) yang dikompilasi sebagai gantinya, biasanya diproduksi oleh alat baris perintah msgfmt. Konverter ini melakukan langkah kompilasi yang sama di browser Anda, sehingga Anda dapat pergi dari .po ke .mo tanpa harus menginstal gettext atau toolchain PHP/Python.
Cara menggunakannya
Tempel konten file .po Anda ke dalam kotak teks, atau unggah file secara langsung — bagaimanapun juga, file tidak pernah meninggalkan browser Anda. Klik Kompilasi ke MO dan unduh messages.mo yang dihasilkan.
Yang didukung
- String multi-baris —
msgid/msgstryang terbagi di beberapa baris yang dikutip disatukan kembali, sama sepertimsgfmt. - Bentuk jamak —
msgid_pluraldan indexedmsgstr[0],msgstr[1], … dikompilasi ke dalam pengodean binary plural yang digabungkan NUL dari gettext, sehingga pencarianngettext()/_n()bekerja dengan benar. - Konteks pesan —
msgctxtdilipat ke dalam kunci yang dikompilasi persis seperti yang diharapkanpgettext()/_x(). - Entri fuzzy dan yang tidak diterjemahkan dilewati, sesuai dengan perilaku default
msgfmt(tidak ada--use-fuzzy). String yang ditandai#, fuzzyadalah tebakan mesin kasar yang belum dikonfirmasi oleh penerjemah — mengirimkannya sebagai terjemahan nyata akan lebih buruk daripada kembali ke teks asli, jadi itu dikeluarkan dari katalog yang dikompilasi daripada dipercaya. - Entri kadaluarsa (dengan awalan
#~, ditinggalkan olehmsgmergeketika string hilang dari sumber) dibuang, sama seperti kompilasi nyata.
Privasi
Semuanya terjadi di sisi klien — penguraian teks .po dan perakitan file binary .mo keduanya berjalan di browser Anda. Tidak ada yang diunggah ke server.
Mengapa string terjemahan saya tidak muncul di file .mo?
Periksa apakah ditandai #, fuzzy di file .po. String fuzzy sengaja dikeluarkan dari katalog yang dikompilasi (lihat di atas) — hapus flag fuzzy setelah Anda mengkonfirmasi terjemahan sudah benar, kemudian kompilasi ulang.
Apakah file yang dikompilasi bekerja dengan WordPress?
Ya — WordPress (dan konsumen PHP gettext/Gettext_PO lainnya) membaca file .mo standar. Taruh file yang dikompilasi di folder languages/ tema atau plugin Anda menggunakan nama file yang diharapkan <textdomain>-<locale>.mo.
Saya perlu melangkah ke arah lain, dari .mo yang dikompilasi kembali ke .po yang dapat diedit
Itu adalah langkah dekompilasi terpisah — alat MO ke PO sedang direncanakan. Sementara itu, sebagian besar editor yang menyadari gettext (Poedit, msgunfmt dari gettext sendiri) dapat membuka file .mo secara langsung.
Untuk mengedit format terjemahan/konfigurasi terstruktur lainnya, lihat Pemformat File Java Properties.
Cara lain menggunakan alat ini
REST API
curl -X POST https://api.iotools.cloud/v1/tool/po-to-mo \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"po": "#\nmsgid \"\"\nmsgstr \"\"\n\"Content-Type: text/plain; …"
}'Ganti dengan kunci Anda sendiri dari akun Anda. Bidang alat menjadi isi permintaan — tanpa pembungkus.
Tanyakan ke agen AI
Use the IOTools `po-to-mo` tool (PO to MO Converter) on this input:
YOUR_INPUT_HERETempelkan ini ke agen mana pun yang terhubung ke server MCP IOTools, lalu tambahkan input Anda.
Widget sematan
<iframe
src="https://iotools.cloud/embed/po-to-mo/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="PO ke MO Converter — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>Tempelkan ini di halaman Anda sendiri — gratis, tanpa kunci, cukup tautan balik.
| Biaya per panggilan | Mulai dari 5 kredit |
|---|