AI & Teknologi
Cara Menerjemahkan Subtitle SRT Tanpa Kehilangan TimestampMengapa Penerjemahan Subtitle Adalah Pekerjaan Presisi File SRT adalah format yang sangat terstruktur. Setiap blok subt…
Amanda Lee
File bahasa PO, YAML, .properties, RESX, XLIFF, dan JSON tampak seperti daftar kalimat, tetapi hanya nilainya yang berupa teks. Kunci adalah pengenal yang dicari oleh kode; placeholder adalah slot yang diisi kode saat runtime; escape dan markup adalah sintaksis yang diandalkan parser. Penerjemah yang memperlakukan seluruh baris sebagai teks akan menghasilkan file yang terbaca indah tetapi gagal dimuat, atau berhasil dimuat lalu crash saat sebuah layar pertama kali memformat angka. Kegagalan ini biasanya hanya muncul dalam satu bahasa, sehingga menjadi jenis bug yang paling sulit ditemukan saat review.
Bahasa Inggris memiliki dua bentuk jamak, sehingga mudah mengira setiap bahasa juga begitu. Manual GNU gettext menunjukkan mengapa anggapan itu keliru: setiap bahasa mendeklarasikan aturan Plural-Forms miliknya sendiri, bahasa Inggris memakai nplurals=2, dan bahasa Rusia membutuhkan tiga bentuk yang dipilih berdasarkan digit terakhir angka. File PO yang diterjemahkan ke bahasa Rusia dengan hanya dua bentuk yang terisi tetap bisa dikompilasi, berjalan, dan mencetak tata bahasa yang salah untuk setiap jumlah yang berakhiran 2, 3, atau 4. Penanganan bentuk jamak yang benar berarti menghasilkan jumlah entri msgstr yang dibutuhkan bahasa target, bukan jumlah yang kebetulan dimiliki bahasa sumber.
Urutan kata berbeda antarbahasa, sehingga kalimat dengan dua nilai sering kali harus menempatkannya dalam urutan terbalik. Placeholder posisional seperti %1$s dan %2$s, atau placeholder bernama seperti {count} dan {user}, ada tepat untuk itu: terjemahan boleh mengubah urutannya, tetapi setiap placeholder tetap harus muncul tepat satu kali. Placeholder anonim seperti %s polos tidak dapat diubah urutannya dengan aman — masalah yang sebaiknya diperbaiki di string sumber sebelum penerjemahan, bukan sesudahnya.
Setiap format punya jebakannya sendiri. Di YAML, spesifikasinya memberi blok literal (|) dan blok terlipat (>) perilaku pemisah baris yang berbeda, dan anchor (&) serta alias (*) memungkinkan satu node memakai ulang node lain, jadi keduanya harus lolos tanpa diubah. XLIFF 2.1 membungkus format asli dalam elemen inline seperti <ph> dan <pc>, yang harus dipertahankan terjemahan di tempatnya di sekitar kata yang tepat. Di .NET, resource RESX dicari berdasarkan nama saat runtime untuk UI culture yang aktif, sehingga elemen data yang diganti namanya diam-diam kembali ke bahasa default. Dan file .properties Java memperlakukan =, :, atau spasi pertama yang tidak di-escape sebagai pemisah kunci, sehingga titik dua yang nyasar di kunci terjemahan akan membelahnya menjadi dua.
Hampir selalu karena sebuah placeholder diubah hanya dalam bahasa itu — diganti namanya, dihapus, atau diduplikasi. Kode meneruskan argumen yang sama ke setiap bahasa, sehingga satu-satunya terjemahan yang tidak lagi cocok dengannya gagal saat layar tersebut diformat.
Aturan jamak adalah milik bahasa, bukan milik perangkat lunak. Gettext memungkinkan setiap bahasa mendeklarasikan aturannya sendiri; bahasa Rusia memilih di antara tiga bentuk berdasarkan digit terakhir angka, sehingga terjemahan dengan hanya dua bentuk mencetak tata bahasa yang salah untuk banyak jumlah.
Karena metode klasik Properties.load(InputStream) membaca file sebagai Latin-1. Karakter di luar rentang itu harus ditulis sebagai escape \uXXXX, atau file harus dimuat dengan reader yang menggunakan encoding yang benar.
Boleh, jika placeholder-nya posisional (%1$s, %2$s) atau bernama ({count}, {user}) — mengubah urutan sering kali diperlukan agar susunan kata terasa alami. Setiap placeholder tetap harus muncul tepat satu kali. Placeholder %s polos tidak dapat diubah urutannya dengan aman.
Kunci adalah pengenal, bukan teks. Kode meminta string berdasarkan kuncinya; kunci yang diterjemahkan berarti pencarian gagal dan aplikasi menampilkan kunci mentah atau kembali ke bahasa default.
Unggah file PO, YAML, .properties, atau RESX dan terima kembali dengan kunci, placeholder, escape, dan struktur tetap persis di tempatnya.
Terjemahkan File Bahasa Gratis
AI & Teknologi
Cara Menerjemahkan Subtitle SRT Tanpa Kehilangan TimestampMengapa Penerjemahan Subtitle Adalah Pekerjaan Presisi File SRT adalah format yang sangat terstruktur. Setiap blok subt…
Amanda Lee
AI & Teknologi
Cara Menerjemahkan Presentasi PowerPoint OnlineTantangan Nyata Menerjemahkan Presentasi Presentasi PowerPoint lebih dari sekadar teks. Setiap slide adalah kanvas yang…
Amanda Lee