Cada script traz 15 arquivos de idioma, já preenchidos. Eles ficam fora do escrow, então você pode ler, editar e manter suas alterações de uma atualização para a outra.
Os 15 idiomas incluídos
São os idiomas que os seus jogadores veem dentro do jogo, uma lista diferente dos seis em que este site é publicado. Cada arquivo fica em locales/ e leva o nome do seu código.
arÁrabe
csTcheco
deAlemão
enInglês
esEspanhol
frFrancês
idIndonésio
itItaliano
nlHolandês
plPolonês
pt-brPortuguês do Brasil
roRomeno
ruRusso
thTailandês
trTurco
Escolher o que o seu servidor usa
Uma linha na config, e é o único ajuste que merece uma olhada antes de abrir. O arquivo é carregado na inicialização, então um restart aplica.
lua
-- config/config.lua
Config.Locale = 'pt-br'
Mudar os textos
Abra o arquivo e mude as strings. locales/*.lua está nas isenções do escrow, então o arquivo é Lua legível e não criptografado, e a sua versão sobrevive à próxima atualização enquanto você guardar o arquivo ao substituir a pasta.
Adicionar um idioma que não está na lista
Copie en.lua com o código do seu idioma, traduza os valores e aponte Config.Locale para ele. Não mexa nas chaves: o código as procura pelo nome, e uma chave faltando mostra a própria chave para os seus jogadores em vez de uma frase.
Essas traduções são revisadas por nativos
Nem todas. Inglês, francês e alemão são escritos e revisados internamente. Os outros doze saem com auxílio de tradução e são corrigidos quando um cliente avisa que algo soa estranho. Preferimos escrever isso a alegar quinze revisões nativas que não fizemos, e um aviso seu ajuda de verdade.
O que não é traduzido, e por quê
Nomes de exports, nomes de eventos e chaves de configuração continuam em inglês em todos os idiomas. É a convenção do FiveM, e traduzi-los quebraria toda integração escrita em cima deles.
Perguntas
Os jogadores podem escolher o próprio idioma?
Do jeito que está, não. O idioma é um ajuste do servidor, uma linha na config, porque as strings são carregadas uma vez na inicialização e não por jogador. Um seletor por jogador é um pedido razoável, fale com a gente no Discord se precisar.
Minhas alterações sobrevivem a uma atualização?
Sim, desde que você guarde a sua pasta locales/ ao substituir o recurso. Esses arquivos ficam fora do escrow justamente por isso. O changelog nomeia qualquer chave adicionada ou renomeada.
O que acontece se faltar uma chave no meu arquivo?
Seus jogadores veem o nome da chave em vez de uma frase, feio mas inofensivo e fácil de notar. Copie a linha que falta do en.lua, que está sempre completo.