Alat terjemahan Jepang-ke-Inggris untuk file SWF (Adobe Flash)
Alat Python ini dapat digunakan untuk mengekstrak string dari aset SWF untuk terjemahan, melakukan terjemahan itu sendiri (berbasis cloud atau offline), dan menulis string yang diterjemahkan kembali ke aset. Anda juga akan memerlukan pembangkit Flash JPEXS open-source untuk memindahkan aset masuk dan keluar dari file SWF.
PytranslatesWF dilisensikan di bawah lisensi MIT (lihat LICENSE.txt ).
Anda akan membutuhkan Python 3.6+ dan perpustakaan berikut:
... Jika Anda ingin menggunakan Layanan Terjemahan Microsoft Azure (Disarankan):
pip install regex uuid requests... jika Anda ingin menggunakan penerjemah offline yang disediakan:
pip install regex jamdict stanza Kami akan menggunakan JPEXS Flash Decompiler dan translateSfw.py Script untuk berinteraksi dengan perpustakaan. Anda dapat menggunakan -h untuk mendapatkan bantuan: translateSfw.py -h atau translateSfw.py translate -h .
texts dan scripts dan klik tombol Export Selection di pita di atas. Pastikan untuk mengekspor teks sebagai "teks biasa" dan skrip sebagai "actioncript".texts dan scripts subdirektori).Di direktori kerja Anda, jalankan yang berikut:
translateSfw.py gatherIni akan menghasilkan file JSON dengan semua string (unik) yang diekstraksi, siap untuk diterjemahkan. Perhatikan bahwa ini tidak mungkin untuk mengekstraksi 100% teks, terutama teks yang disimpan sebagai grafik bitmap/vektor dan setiap string literal dalam actioncript yang dilewatkan heuristik.
Jika Anda menggunakan Microsoft Azure (disarankan), jalankan yang berikut:
translateSfw.py translate azure --azure-subscription-key < YOUR-KEY > --azure-subscription-region < YOUR-REGION >Anda juga dapat menggunakan backend terjemahan offline (yang akan menghasilkan teks berkualitas jauh lebih rendah):
translateSfw.py translate offlineDi direktori kerja Anda, jalankan yang berikut:
translateSfw.py export Ini akan memodifikasi aset dengan string baru. Jangan jalankan gather atau export lagi setelah melakukan ini, karena skrip akan bingung dengan string baru dalam aset. Jika Anda ingin melakukan sesuatu yang berbeda, hapus aset dan mulai lagi dengan mengekspornya (lihat langkah 1).
Import Text dan Import Scripts di pita di atas untuk memuat aset yang dimodifikasi dari direktori yang berfungsi.Save As... di pita dan menghasilkan file SWF yang diterjemahkan. Saat ini, ada dua backend yang tersedia untuk terjemahan mesin: Microsoft Azure Cognitive Services Translator (Terjemahan Mesin "Berbasis Cloud, yang tepat) dan solusi Offline Kustom (Berbasis Kamus, yang dapat digunakan secara marginal). Disarankan untuk menggunakan Microsoft Azure jika memungkinkan - Anda akan memerlukan kunci berlangganan untuk melakukannya.
| Teks input | Terjemahan (Microsoft Azure) | Terjemahan (penerjemah offline) |
|---|---|---|
| こんにちは世界 | Halo dunia | Konnichi ha dunia |
Selain itu, Anda dapat melewatkan langkah terjemahan mesin dan menerjemahkan sendiri string yang diekstraksi. Mereka disimpan sebagai JSON.
Subkelas Translator digunakan sebagai berikut:
from pyTranslateSwf import OfflineTranslator , MicrosoftAzureTranslator
translator = OfflineTranslator ()
input_strings = [ "こんにちは世界" ]
output_strings = translator . translate_all ( input_strings )
print ( output_strings [ 0 ]) Subkelas Parser digunakan sebagai berikut:
from pyTranslateSwf import JPEXSActionScriptParser , JPEXSPlainTextParser
parser = JPEXSActionScriptParser ( "./scripts/test.as" )
input_strings = parser . get_extracted_strings ()
output_strings = [ my_translate_function ( s ) for s in input_strings ]
parser . replace_strings ( output_strings )
parser . save ()Lihat Modul dan Kelas Docstrings untuk info lebih lanjut.