Aplicação para instalar e criar traduções para o NieR Replicant™ ver.1.22474487139...
English version of this README.md here
Projeto de tradução para PT-BR do fabuloso Nier Replicant ver.1.22474487139, foi utilizado do ChatGPT como suporte para a tradução. O projeto tem como objetivo incluir novas pessoas a essa obra prima dos videojogos, que por conta de ser um RPG onde há várias falas, não ter o português-brasileiro como uma opção de idioma acaba afastando muita gente.
A tradução foi feita em cima dos textos em inglês, com o apoio de alguns textos em espanhol para montar um texto em português. Novamente, foi utilizado uma abordagem que utilizava o ChatGPT para traduzir a maioria dos textos, o que foi feito foi a revisão
para se ter certeza que o que o ChatGPT retornou estava de acordo (e adivinha, a maioria dos textos estava sim de acordo).
É um grande inovação o ChatGPT, ajudou e muito a traduzir o jogo inteiro em tão pouco tempo, algo que utilizando os serviços como Google Tradutor ou Bing não é possível em tempo tão hábil, visto que as traduções ATÉ HOJE ainda são de cunho duvidoso e incorreto.
ChatGPT não é perfeito, mas no nível atual permitiu construir essa aplicação e compartilhar com todos vocês.
É possível utilizar esse projeto para traduzir para outras línguas, é só mudar os parâmetros que o ChatGPT irá fazer o trabalho por ti, só lembre de revisar os textos. 🎉
Esse projeto não tem intenção nenhuma de substituir outros projetos de tradução que estão sendo feitos, acredito que eles fazem um bom trabalho, porém manualmente isso leva muito mais tempo (mas por consequência tende a ter um maior cuidado).
Se quiser me comprar um ☕, chave PIX pra fortalecer: 0dd32e9d-8b78-4978-ad8a-797cbd7380d1
Olhe a pasta texts
e olhe os arquivos da pasta translation
(onde está a tradução)
Faça sua alteração e faça um pull request, seja claro porquê você decidiu tais alterações e com base isso será aprovado ou não.
Todos os textos foram revisados por mim, pela Caroline Urbano e Cristian Kirsch com bastante cuidado, mas pode existir algo que foi deixado escapar alguma coisa ali ou aqui, só peço que se acontecer algo do tipo, informar.
Se quiser conversar mais sobre, podem me chamar em algumas das minhas redes sociais abaixo:
Quero agradecer pelas pessoas que se empenharam em fazer do projeto o melhor possível para quem é fã de verdade.
Caroline Urbano que trabalha como tradutora e fez o pontapé inicial na revisão, evolui bastante com o projeto e imagino que ela também. Suas redes sociais estão aqui abaixo.
Cristian Kirsch um rapaz super gente boa, super amante da franquia NieR e que demonstrou um empenho na revisão que jamais vi, tudo isso é fruto do seu esforço e eu agradeço muito. Suas redes sociais estão aqui abaixo.
Aqui irei descrever duas formas de instalar a tradução, usando o instalador e outra de maneira manual caso dê algum problema na instalação.
É válido apontar que essa forma de instalar irá instalar o SpecialK automaticamente ao seu jogo.
-
Baixe o executável da aplicação aqui: Release
-
Extraia o arquivo zipado
.zip
para alguma pasta de sua preferência. -
Execute o arquivo
instalar e atualizar.bat
-
O programa irá procurar pela pasta onde está instalado o NieR: Replicant. Caso não encontre irá ser solicitado o caminho.
Exemplo de caminho
C:\SteamLibrary\steamapps\common\NieR Replicant ver.1.22474487139
-
Prontinho, só aguardar a finalização e iniciar o jogo já traduzido. 🎉
-
Baixe os arquivos de texto necessários aqui: data
-
Extraia o arquivo zipado
.zip
para alguma pasta de sua preferência. -
Abra o diretório onde o seu NieR Replicant está instalado.
Exemplo de caminho
C:\SteamLibrary\steamapps\common\NieR Replicant ver.1.22474487139
-
Abra a pasta
data
-
O arquivo zipado que baixou haverá dois arquivos dentro -
common.arc
einfo.arc
, jogue os dois dentro da pastadata
.Obviamente irá substituir os arquivos originais, se possível, faça backup deles
-
Prontinho, agora é só iniciar o jogo. 🎉
Essa etapa não é obrigatório, faça somente se desejar as texturas também traduzidas.
-
Baixe as texturas necessárias aqui: textures
-
Baixe o SpecialK aqui: SpecialK
-
Coloque o arquivo
dxgi.dll
dentro da pasta raíz do seu NieR: Replicant. -
Crie esse diretório
SK_Res\inject\textures
dentro da pasta raíz do NieR: Replicant. -
Dentro do diretório criado, descompacte todos os arquivos
.dds
que baixou na etapa 1. (a pasta textures precisa ter esses arquivos.dds
) -
Prontinho, agora é só iniciar o jogo. 🎉
-
Instalar
nier-translator.exe manager install --specialk --update
O argumento
--specialk
faz com que o SpecialK seja instalado localmente O argumento--update
faz com que seja verificado se os arquivos locais estão atualizados, caso contrário, um download do repositório remoto será feito -
Desinstalar
nier-translator.exe manager uninstall --specialk --update
O argumento
--specialk
faz com que o SpecialK seja desinstalado localmente
Esse projeto só foi possível graças a esses dois repositórios
- Ferramenta para extração dos assets - kaine
- Ferramenta para extração dos textos - NieR-Text-Tool
- Ferramenta para extração e injeção de texturas - SpecialK
Se quiser o projeto para desenvolver, alguns pré-requisitos são necessários.
- Python
- Você pode baixar aqui: Python
- Aqui tem um tutorial passo-a-passo. (Tutorial)
- Tutorial com Miniconda. (Tutorial)
- Poetry
- Você pode instalar aqui: Poetry
Eu guardo algumas variáveis sensíveis nesse arquivo dentro da pasta config/toml
, crie esse arquivo lá se for usar o ChatGPT para traduzir, caso contrário apenas ignore.
[KEYS]
OPENAI_API_KEY = "..." # Só criar uma conta e ir nesse link: https://platform.openai.com/account/api-keys
ORG_ID = "..." # Você consegue esse ID aqui: https://platform.openai.com/account/org-settings
SESSION_TOKEN = "..." # Necessário apenas se você não for usar a API do OpenAI
Eu guardo bastante informação em arquivos .toml
dentro da pasta toml
que fica dentro da pasta config
, algumas delas são sobre as mensagens que mando para o ChatGPT para a tradução, se quiser customizar a aplicação, recomendo dar uma olhada lá!
-
Clone o repositório.
git clone https://github.com/Arekushi/nier-replicant-pt-br-translation.git
-
Instale os pacotes com o
Poetry
poetry install
-
Execute:
python main.py --help
-
Prontinho, você já pode desenvolver 🎉
Eu deixei alguns comandos prontos para facilitar a criação de uma tradução, irei listar e descrever alguns aqui:
-
Extrair os textos
python main.py builder extract-texts
Esse comando inicia o processo de extração dos textos do jogo.
Antes do início ele primeiro verifica se os
assets
do jogo já foram extraídos, caso contrário, primeiro ele extrai osassets
para enfim, extrair os textos para o formato .CSV, que é mais amigável do que o formato binário que vem da extração dos assets.Os textos estarão dentro da pasta
texts/raw
-
Criação da pasta de tradução
python main.py builder make-translation-folder
Esse comando trabalha os arquivos
raw
de textos e cria novos arquivos .CSV que contém somente o conteúdo textual para a tradução.Para facilitar e ajudar na tradução, ele cria um .CSV com três colunas:
- Coluna para tradução
- Coluna da língua fonte para tradução
- Coluna da língua de suporte para tradução
Caso queria editar as línguas fonte e de suporte, vá até o arquivo
settings.toml
e edite as variáveis:target_language
source_language
secondary_language
Dessa forma, fica fácil a consulta dos textos originais e traduzindo logo em seguida.
Um dica importante, se deseja criar uma nova tradução, recomendo um dois dois casos:
- Deletar a pasta
text/translations
- Modificar o nome da pasta
translations
no arquivosettings.toml
nas variáveis:paths_to_translate
translation_folder_name
-
Tradução com IA
python main.py builder translate
Esse comando inicia o processo de tradução da pasta
translation
, então é importante executar o comando anterior antes de começar esse.Há dois métodos para a tradução: Com ChatGPT ou Google Tradutor.
A tradução feita com o Google é uma tradução rápida de ser feita, porém, com muita tradução incorreta. Eu ainda mantive esse módulo, mas não estou mais utilizando ele no projeto.
De qualquer forma, para traduzir usando o Google Tradutor, adicione uma flag indicando isso no método que estará feito.
nier-translator.exe builder translate --google
Se tratando do ChatGPT, é importante decidir se vais usar um WebCrawler ou a própria API do OpenAI.
Caso decida usar um WebCrawler, edite/crie o arquivo
.secrets.toml
dentro da pastaconfig/toml
e adicione oSESSION_TOKEN
que pode ser obtido de um login na página do ChatGPT.Caso tenha problemas com o WebCrawler envolvendo a versão do Google Chrome, recomendo baixar a versão do ChromeDriver nesse link.
Após isso, edite o arquivo
driver.py
da libUnlimitedGPT
, lá teremos um construtor do Driver, edite para que fique algo parecido com isso:super().__init__( options=options, headless=headless, desired_capabilities=caps, driver_executable_path='F:\path_to_driver\chromedriver.exe' )
Caso decida usar a API, edite/crie o arquivo
.secrets.toml
dentro da pastaconfig/toml
e adicione aOPENAI_API_KEY
eORG_ID
. Nesse caso, será necessário usar uma flag para sinalizar ao método para que use a API ao invés do WebCrawler.python main.py builder translate --api
Também é importante se atentar ao arquivo
chat-gpt.toml
, lá eu defino como será as mensagens enviadas no chat, como por exemplo, definir que eu quero uma tradução do inglês para o português-brasileiro.NÃO recomendo mexer no que está entre diamantes
<>
, caso não saiba o que está fazendo. -
Geração dos arquivos .arc
python main.py builder generate
Por fim, após ter realizado suas alterações nos arquivos da pasta
translation
, seja elas com tradução automática ou manual, chegamos na parte de reverter o processo e gerar os arquivos na qual o jogo lê, que são os arquivos .ARC.Executando esse comando, ele irá iniciar o processo e irá gerar um resultado dentro da pasta
patch/data
, lá estarão os arquivos com as suas alterações já realizadas.Para aplicar as alterações só utilizar o comando
python main.py manager install --local
Dessa forma irá ser copiado os arquivos da pasta
patch/data
para o local do seu jogo. Caso contrário é só realizar o processo manualmente.
Alexandre Ferreira de Lima 💻 |
Caroline Urbano 📚 |
Cristian Kirsch 📚 |
---|