SWF (Adobe Flash) 파일 용 일본어-영어 번역 도구
이 파이썬 도구는 번역을 위해 SWF 자산에서 문자열을 추출하는 데 사용될 수 있으며, 번역 자체 (클라우드 기반 또는 오프라인)를 수행하며 번역 된 문자열을 자산에 다시 작성합니다. 또한 SWF 파일 안팎으로 자산을 이동하려면 오픈 소스 JPEXS 플래시 디 컴파일러가 필요합니다.
pytranslateswf는 MIT 라이센스에 따라 라이센스가 부여됩니다 ( LICENSE.txt 참조).
Python 3.6+ 및 다음 라이브러리가 필요합니다.
... Microsoft Azure Translation Service를 사용하려면 (권장) :
pip install regex uuid requests... 제공된 오프라인 번역기를 사용하려면 :
pip install regex jamdict stanza 우리는 jpexs flash 디 컴파일러 및 translateSfw.py 스크립트를 사용하여 라이브러리와 상호 작용할 것입니다. -h 사용하여 도움을받을 수 있습니다 : translateSfw.py -h 또는 translateSfw.py translate -h .
texts 및 scripts 폴더를 선택하고 위의 리본에서 Export Selection 버튼을 클릭하십시오. 텍스트를 "일반 텍스트"로 내보내고 스크립트를 "ActionScript"로 내보내십시오.texts 및 scripts 하위 디렉토리가 있어야합니다).작업 디렉토리에서 다음을 실행하십시오.
translateSfw.py gather이렇게하면 모든 (고유 한) 추출 된 문자열이있는 JSON 파일이 생성됩니다. 이것은 텍스트의 100%를 추출하지는 않을 것입니다. 특히 텍스트는 비트 맵/벡터 그래픽으로 저장된 텍스트와 휴리스틱이 놓친 액션 스크립트의 문자 리터럴을 저장했습니다.
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 파일을 생성하십시오. 현재 Michrosoft 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 ()자세한 내용은 모듈 및 클래스 Docstrings를 참조하십시오.