001 Suporte a Multiplos Idiomas
A downloadable tool
vBeta 0.0.2
Apresentação
O que é MLS?
001 MultiLang Support é uma ferramenta Opensource para tradução de jogos criados com 001 Game Creator que por sua vez não possui nativamente a função de multiplos idiomas.
Como Posso Usar?
Todo usuário pode baixar, usar em seus projetos, modificar e melhorar.
Apoio e Suporte
Sinta-se livre para deixar comentários, reportar bugs, postar links de versões melhoradas, fazer sujestões ou apoiar o projeto com doações caso desejar.
Documentação
Como extrair os textos das interfaces?
O processo foi simplificado ao máximo para que a tradução do seu jogo seja rápida e eficaz.
- Para extrair os textos das interfaces primeiro é necessário sinalizar onde há textos sem "Use Value" para serem traduzidos.
- Para sinalizar, é necessário copiar o caractere especial da variável _translation_mark e colocar no início de cada texto que receberá a tradução:
Após sinalizar todos os textos é hora de extraí-los...
- Para fazer a extração, será necessário iniciar seu jogo com o Custom Event de extração (Get Interface Texts MLS):
Ao adicionar este evento, selecione sua LoadScreen e escolha o tipo de arquivo que deseja extrair, .txt para traduzir com mais velocidade ou .ini para traduzir com mais precisão. (Logo mais a frente você encontrará uma explicação mais detalhada de cada tipo de arquivo).
- Agora que está tudo configurado, inicie seu jogo e aguarde até que a extração seja concluída.
Durante a extração, talvez você receba alguns erros vindos das interfaces que estão sendo escaneadas. Por favor verifique o nome na tela de depuração Se você ler o nome de uma interface, clique em "Ignorar Error". Se você ler o nome do Custom Event que está extraindo, por favor me envie uma mensagem ou print avisando sobre este erro que irei corrigi-lo.
- Depois de extrair, você pode fechar seu jogo e abrir a pasta de saves clicando em "Tools" e "Open Saved Games/Data Folder"
- Ao abrir, você verá uma nova pasta chamada MultiLangSupport dentro dela você encontrará as versões de extração dos textos. Entrando na última versão, você encontrará as pastas dos idioma selecionados para seu jogo.
- Se você escolheu arquivos .ini:
Na pasta do idioma original, você encontrará um arquivo chamado Interfaces.ini que contém os textos de cada Campo de texto sinalizado no seu jogo.
Com este arquivo aberto, você pode começar a traduzir os outros arquivos .ini dos outros idiomas usado o original como base.
- Se você escolheu arquivos .txt
Na pasta do idioma original, você encontrará um arquivo chamado Interfaces.txt que na realidade é bem bagunçado porém pode te ajudar economizar tempo nas traduções, pois com esse arquivo, você é capaz de copiar todo o seu texto e colar no Google Tradutor ou Chat GPT para traduzi-lo rapidamente para os idiomas selecionados. Após traduzir, basta colar a tradução nos arquivos dentro de cada pasta de idioma.
Como Carregar as Traduções?
Agora que os arquivos que cada idioma foi traduzido e devidamente salvo, está na hora de carregar as traduções:
- Usando o Mapa template chamado MLS DataBase crie uma duplicata e renomeia com as seguintes regras:
- No início do nome escreva o idioma que aquele mapa específico irá receber, dentre os idiomas escolhidos da variável _languages finalizando com um espaço antes da sigla MLS que será mantida.
- Após a sigla MLS substitua "DataBase" pelo tipo de tradução que o mapa irá receber que são eles: Items, Messages ou Interfaces.
Agora basta salvar o novo mapa. Dentro dele, você pode editar o comentário inicial para sinalizar aos desenvolvedores do seu projeto pra que serve aquele mapa.
Agora que temos o novo mapa configurado, clique com o botão direito no nome dele na lista de mapas abra a lista chamada Run Custom Event e Selecione a opção Load Translations MLS.
- Caso tenha feito várias versões e a última não é a versão certa, você pode marcar a opção "Selected:" e em baixo dizer qual versão é a correta.
- Caso tenha escolhido extrair como .txt, agora é necessário converter para .ini então marque a opção txt->ini.
Clique em OK para finalizar o carregamento e veja o aviso que irá surgir, ele contém informações importantes. Em caso de erro, me envie uma print para poder ajudá-lo.
Agora que o tradução foi carregada, você verá no mapa, alguns novos atores. Cada um carrega os textos de uma interface específica. Não recomendo modifica-los.
Como eu Faço Meu Jogo Exibir as Traduções?
Temos dois Custom Events para ajuda-lo:
- Para que as interfaces recebam tradução, use o Custom Event Update Field Text MLS Dentro do Script de Entrou na interface
para que o texto seja traduzido. Usando o Custom Evento será necessário selecionar as campos que recebem tradução por questões de desempenho: - Ao iniciar seu jogo, é importante carregar algum idioma. Recomendo usar o Switch Language selecionando a opção Load Last Selected Language:
Você pode usar esse Custom Event também para criar um menu de seleção de idioma.
Pronto! Suas interfaces estão traduzidas!
Como Traduzir Itens?
A tradução de itens é semelhante a de interfaces.
- Você pode extrair os os nomes de descrições iniciando o jogo com o Custom Event Get Items Text MLS
- Após a extração, você pode traduzi-los através dos arquivos ItemsDescription e ItemsName.
- Crie o mapa que irá receber as traduções usando as regras de duplicata do modelo (Exemplo: English MLS Items)
- E rode o Custom Event Load Translations MLS carregar as traduções.
Como Traduzir Caixas de Mensagem?
A tradução de caixas de mensagem é um mais complicada, pois exige passar por um processo chamado "Internalização" que é responsável por organizar onde cada tradução será inserida.
- Para realizar a internalização, é necessário seguir dois passos:
- Em cada script diferente, use o Custom Event Script Namer MLS
para nomear aquele Script em específico. Sempre dê nomes simples e descritivos sem o uso de simbulos. - Em cada caixa de mensagem é necessário inserir o Custom Event Label Creator MLS:
e dar um nome customizado pra caixa de mensagem específica sem repeti-lo em outras caixas dentro do campo Custom Tag:
- Depois de finalizar a internalização de um script, salve as modificações do script e troque para modo texto (MUITO CUIDADO NESSA PARTE PARA NÃO SALVAR SEU SCRIPT COMO TEXTO) Copie o Script-texto inteiro, clique em Cancel para não salvar script.
- Agora que você tem o script copiado, rode o Custom Event Message Box ExtractorColando o Script dentro dele e clicando em OK. Em caso de erro, me envie Print ou mensagem que irei ajuda-lo.
- Com as mensagens extraídas, você já pode entrar na pasta de saves para traduzir cada um dos diálogos assim como foi explicado sobre interfaces, e por fim, pode carrega-los da mesma forma.
Status | In development |
Category | Tool |
Author | Taytchu |
Tags | 001-game-creator, tools |
Download
Install instructions
Ajustando as ferramentas no seu projeto
Ao baixar, extraia os arquivos compactados e você receberá duas pastas: "Import" e "Install".
- Antes de abrir seu projeto na engine, copie e cole os arquivos da pasta "Install" dentro da pasta do seu projeto, que pode ser acessada através dos caminho padrão Documents\My 001 Games\*NOME DO PROJETO*.
- Após ter colado os arquivos dentro da pasta, abra seu projeto na engine, clique no botão "Importar" e importe os arquivos da pasta "Import".
Após isso, é necessário fechar e abrir seu projeto novamente para que os Custom Events comecem a funcionar corretamente.
Ajustando Variaveis Globais
Antes de começar a usar as ferramentas, é necessário criar 5 variáveis globais.
Nome da Variavel | Valor | Descrição |
_translation_mark | → | Sinaliza para a ferramenta onde é necessário inserir uma tradução. (O Símbulo é customizavel. Recomendo usar apenas simbulos que não são usados no seu jogo). |
_languages | pt,en,es | Guarda os idiomas que você deseja adicionar ao seu jogo, separados por vírgula. |
_selected_language | en | Guarda o idioma selecionado pelo jogador. |
_original_language | en | Guarda o idioma original do jogo para que o script possa trabalhar. |
_script_name | Sinaliza para a ferramenta qual script está sendo executado atualmente. |
Agora podemos usar as ferramentas.