เครื่องมือแปลภาษาญี่ปุ่นเป็นภาษาอังกฤษสำหรับไฟล์ SWF (Adobe Flash)
เครื่องมือ Python นี้สามารถใช้ในการดึงสตริงจากสินทรัพย์ SWF สำหรับการแปลทำการแปลเอง (บนคลาวด์หรือออฟไลน์) และเขียนสตริงที่แปลกลับไปยังสินทรัพย์ นอกจากนี้คุณยังจะต้องใช้ตัวถอดรหัสแฟลช JPEXS โอเพ่นซอร์สเพื่อย้ายสินทรัพย์เข้าและออกจากไฟล์ SWF
PytranslatesWF ได้รับใบอนุญาตภายใต้ใบอนุญาต MIT (ดู LICENSE.txt )
คุณจะต้องมี Python 3.6+ และไลบรารีต่อไปนี้:
... หากคุณต้องการใช้ Microsoft Azure Translation Service (แนะนำ):
pip install regex uuid requests... หากคุณต้องการใช้นักแปลออฟไลน์ที่ให้ไว้:
pip install regex jamdict stanza เราจะใช้สคริปต์ JPEXS Flash Decompiler และ translateSfw.py เพื่อโต้ตอบกับไลบรารี คุณสามารถใช้ -h เพื่อรับความช่วยเหลือ: translateSfw.py -h หรือ translateSfw.py translate -h
texts และ scripts โฟลเดอร์และคลิกปุ่ม Export Selection ในริบบิ้นด้านบน ตรวจสอบให้แน่ใจว่าได้ส่งออกข้อความเป็น "ข้อความธรรมดา" และสคริปต์เป็น "ActionScript"texts และ scripts )ในไดเรกทอรีการทำงานของคุณเรียกใช้สิ่งต่อไปนี้:
translateSfw.py gatherสิ่งนี้จะสร้างไฟล์ JSON ด้วยสตริงที่สกัด (ไม่ซ้ำกัน) ทั้งหมดพร้อมสำหรับการแปล โปรดทราบว่าสิ่งนี้ไม่น่าจะสกัดข้อความ 100% โดยเฉพาะอย่างยิ่งข้อความที่บันทึกเป็นกราฟิกบิตแมป/เวกเตอร์และตัวอักษรสตริงใด ๆ ใน ActionScript ซึ่งฮิวริสติกพลาด
หากคุณใช้ Microsoft Azure (แนะนำ) ให้เรียกใช้สิ่งต่อไปนี้:
translateSfw.py translate azure --azure-subscription-key < YOUR-KEY > --azure-subscription-region < YOUR-REGION >นอกจากนี้คุณยังสามารถใช้แบ็กเอนด์การแปลออฟไลน์ (ซึ่งจะสร้างข้อความที่มีคุณภาพต่ำกว่ามาก):
translateSfw.py translate offlineในไดเรกทอรีการทำงานของคุณเรียกใช้สิ่งต่อไปนี้:
translateSfw.py export สิ่งนี้จะปรับเปลี่ยนสินทรัพย์ด้วยสตริงใหม่ อย่าเรียกใช้ gather หรือ export อีกครั้งหลังจากทำสิ่งนี้เนื่องจากสคริปต์จะสับสนกับสตริงใหม่ในสินทรัพย์ หากคุณต้องการทำสิ่งที่แตกต่างให้ลบสินทรัพย์และเริ่มต้นใหม่อีกครั้งโดยส่งออก (ดูขั้นตอนที่ 1)
Import Text และ Import Scripts ในริบบิ้นด้านบนเพื่อโหลดสินทรัพย์ที่แก้ไขจากไดเรกทอรีการทำงานSave As... ในริบบิ้นและสร้างไฟล์ SWF ที่แปลของคุณ ปัจจุบันมีสองแบ็กเอนด์ที่มีอยู่สำหรับการแปลเครื่อง: Microsoft Azure Cognitive Services Translator (คลาวด์ที่ใช้การแปล "เหมาะสม") และโซลูชันออฟไลน์แบบกำหนดเอง (ใช้พจนานุกรมที่ใช้งานได้เล็กน้อย) ขอแนะนำให้ใช้ Microsoft Azure ถ้าเป็นไปได้ - คุณจะต้องใช้คีย์สมัครสมาชิกเพื่อทำเช่นนั้น
| ข้อความอินพุต | การแปล (Microsoft Azure) | การแปล (นักแปลออฟไลน์) |
|---|---|---|
| こんにちは世界 | สวัสดีโลก | Konnichi Ha โลก |
นอกจากนี้คุณสามารถข้ามขั้นตอนการแปลของเครื่องและแปลสตริงที่สกัดด้วยตัวเอง พวกเขาถูกเก็บไว้เป็น JSON
คลาสย่อย Translator ใช้ดังนี้:
from pyTranslateSwf import OfflineTranslator , MicrosoftAzureTranslator
translator = OfflineTranslator ()
input_strings = [ "こんにちは世界" ]
output_strings = translator . translate_all ( input_strings )
print ( output_strings [ 0 ]) คลาสย่อยของ Parser ใช้ดังนี้:
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 ()อ้างถึงโมดูลและคลาสเอกสารสำหรับข้อมูลเพิ่มเติม