Ferramenta de tradução japonesa para inglês para arquivos SWF (Adobe Flash)
Essa ferramenta Python pode ser usada para extrair strings de ativos SWF para tradução, fazer a própria tradução (baseada em nuvem ou offline) e gravar seqüências traduzidas de volta aos ativos. Você também precisará do decompilador Flash JPEXS de código aberto para mover os ativos para dentro e fora do arquivo SWF.
O Pytranslateswf é licenciado sob a licença do MIT (consulte LICENSE.txt ).
Você precisará de Python 3.6+ e as seguintes bibliotecas:
... Se você deseja usar o Microsoft Azure Translation Service (recomendado):
pip install regex uuid requests... se você deseja usar o tradutor offline fornecido:
pip install regex jamdict stanza Usaremos o JPEXS Flash Decompiler e translateSfw.py para interagir com a biblioteca. Você pode usar -h para obter ajuda: translateSfw.py -h ou translateSfw.py translate -h .
texts e scripts e clique no botão Export Selection na fita acima. Certifique -se de exportar o texto como "texto simples" e scripts como "ActionScript".texts e subdiretórios scripts ).No seu diretório de trabalho, execute o seguinte:
translateSfw.py gatherIsso gerará um arquivo JSON com todas as strings extraídos (exclusivos), prontos para a tradução. Observe que é improvável que isso extrai 100% dos textos, principalmente os textos salvos como gráficos de bitmap/vetor e quaisquer literais de string no ActionScript que a heurística perdeu.
Se você estiver usando o Microsoft Azure (recomendado), execute o seguinte:
translateSfw.py translate azure --azure-subscription-key < YOUR-KEY > --azure-subscription-region < YOUR-REGION >Você também pode usar o back -end de tradução offline (que gerará texto de qualidade muito menor):
translateSfw.py translate offlineNo seu diretório de trabalho, execute o seguinte:
translateSfw.py export Isso modificará os ativos com as novas cordas. Não corra para gather ou export novamente depois de fazer isso, pois o script ficaria confuso com as novas cordas em ativos. Se você deseja fazer algo de maneira diferente, exclua os ativos e comece novamente exportá -los (consulte a etapa 1).
Import Text e Import Scripts na faixa de opções acima para carregar seus ativos modificados no diretório de trabalho.Save As... na faixa de opções e gerar seu arquivo SWF traduzido. Atualmente, existem dois back-ends disponíveis para a tradução da máquina: tradutor de serviços cognitivos do Microsoft Azure (tradução da máquina "adequada" baseada em nuvem) e solução offline personalizada (baseada em dicionário, marginalmente utilizável). É recomendável usar o Microsoft Azure, se possível - você precisará de uma chave de assinatura para fazer isso.
| Texto de entrada | Tradução (Microsoft Azure) | Tradução (tradutor offline) |
|---|---|---|
| こんにちは世界 | Olá mundo | Konnichi Ha o mundo |
Além disso, você pode pular a etapa de tradução da máquina e traduzir as cordas extraídas você mesmo. Eles são armazenados como JSON.
As subclasses Translator são usadas da seguinte forma:
from pyTranslateSwf import OfflineTranslator , MicrosoftAzureTranslator
translator = OfflineTranslator ()
input_strings = [ "こんにちは世界" ]
output_strings = translator . translate_all ( input_strings )
print ( output_strings [ 0 ]) As subclasses Parser são usadas da seguinte forma:
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 ()Consulte o módulo e a classe DocStrings para obter mais informações.