Project Zomboid

Project Zomboid

Not enough ratings
Tradução de mods, como traduzir qualquer mod do zero no Zomboid
By Breno
Como eu sempre vejo as pessoas perguntando como fazer isso no Project Zomboid, mas ainda me faltava algumas informações pra que eu pudesse terminar por completo a tradução de qualquer mod nesse jogo estou criando esse tutorial para ajudar as pessoas que queiram mater qualquer mod com a tradução atualizada nesse jogo por completo.
   
Award
Favorite
Favorited
Unfavorite
Antes de começar
você vai precisar do programa Notepad++ e do Workshop Downloader baixe ele no
github com / imwaitingnow / WorkshopDL


para não ter dor de cabeça com atualizações quebrando suas traduções abra a configuração geral e adicione esse parâmetro nas opções de inicialização "-modfolders mods" com esse parâmetro você pode controlar as pastas que devem ser usadas para carregar os mods "-modfolders workshop,steam,mods" dessa forma ele vai procurar os mods nas três pastas ao mesmo tempo, use isso pra fazer o jogo ignorar a pasta workshop

-modfolders mods -modfolders steam -modfolders workshop

pzwiki net /wiki / Startup_parameters

vá para pasta steam \ steamapps \ workshop \ content \ xxx \ xxx \ mods \ PastaDoMod

mova a pasta de todos o mods para C \ Users \ XXX \ Zomboid \ mods

uma observação que os mods são enviados para o disco onde você instalou jogo se o cliente steam esta no disco local c e o jogo no disco local f é lá onde os mods estão sendo baixados

depois que você fizer isso se desinscreva de todos eles ou não faça nada caso queira continuar recebendo atualizações desses mods isso vai ajudar você a manter as versões antigas dos mods que os servidores continuam mantendo antes de serem resetados porque sempre que um mod atualiza o DoLuaChecksum ativado no servidor kicka você por causa disso

o problema da acentuação, quando você abre o jogo o texto tá todo bugado

abrindo o arquivo de texto das strings com o notepad++ ou bloco de notas normal você pode ver qual codificação o arquivo de texto esta usando



como o visual studio code em inglês usa o padrão UFT-8 quando você for copiar os arquivos de texto você tem que converter eles para ANSI quando terminar a tradução



a lista da codificação para todos os idiomas esta documentada na wiki do jogo pzwiki net / wiki / Translations
os mods mais recentes geralmente já vem prontos para serem traduzidos, indo até a pasta media media \ lua \ shared \ Translate

você vai encontrar alguma pasta com a tag do idioma do autor pronta com os arquivos de texto para serem traduzidos bastando alterar apenas o texto dentro de
= " ", junto com as tags, nesse caso você só precisa criar a pasta PTBR e modificar as tags do idioma e o texto dentro de = " ",

media\lua\shared\Translate\PTBR

ItemName_PTBR.txt
arquivo do nome dos itens

ItemName_PTBR =
{
ItemName_
}

em alguns mods você vai tentar fazer ItemName_Base.Bee = "Abelha", mas não vai funcionar porque na pasta scripts o arquivo de texto que esta lá não usa o modulo base do jogo ele usa outro nome

module BEE
{
imports
{
Base
}

item Bee
{
}
}

então basta você trocar Base por ItemName_BEE.Bee = "Abelha", coloque do jeito que esta com a letra maiúscula porque o jogo faz essa distinção entre letras maiúsculas e minúsculas

ContextMenu_PTBR.txt
arquivo dos textos que aparecem na tela quando você clica com o botão direito do mouse

ContextMenu_PTBR =
{
ContextMenu_
}

Recipes_PTBR.txt
arquivos dos textos das coisas que você pode fazer no menu de criação

Recipes_PTBR = {
Recipe_
}

Tooltip_PTBR.txt
arquivo das caixas de texto que aparecem quando você passa o mouse em alguma coisa

Tooltip_PTBR = {
Tooltip_
}

UI_PTBR.txt
arquivo dos textos na interface do usuário no menu principal do jogo

UI_PTBR = {
UI_
}

IG_UI_PTBR.txt
arquivo dos textos na interface do usuário dentro do jogo

IG_UI_PTBR = {
IGUI_
}

se algum mod que você baixou não possui a linha de texto para traduzir o nome de exibição que aparece no menu de criação e nem a categoria do item adicione IGUI_CraftCategory para o nome de exibição e IGUI_ItemCat para a categoria do item, alguns mods vem sem isso, siga o padrão que o autor criou para a string dele como no building menu por exemplo

IGUI_BuildingMenuCat_Windows
IGUI_BuildingMenuCraft_Windows



se dentro do jogo isso não funcionar significa que no código do jogo essas strings não existem então use o padrão normal do jogo CraftCategory e ItemCat

RecordedMedia_PTBR.txt
arquivo dos textos dos cds e vhs esses arquivos precisam ser traduzidos no vanilla esse arquivo tem vários diálogos em inglês na pasta Project Zomboid\media\lua\shared\Translate veja você mesmo

RecordedMedia_PTBR = {
RM_
}

Sandbox_PTBR.txt
arquivo dos textos das configurações personalizadas do jogo

Sandbox_PTBR = {
Sandbox_
}

Moodles_PTBR.txt
arquivo dos textos das estatísticas do ícone do humor do personagem que aparecem abaixo do relógio

Moodles_PTBR = {
Moodles_
}

o dialogo da tv e do raio fica em Project Zomboid\media\radio se você quiser contribuir com a tradução desses dialogos baixe o source desses arquivos no github da indie stone

github com / TheIndieStone / ProjectZomboidTranslations
Traduzindo
baixei o mod e ele veio sem a pasta Translate, pra esse exemplo eu vou usar o mod DataBackup 3269119166 cole esses números em Workshop mod url: dê um clique fora dentro da janela da ferramenta e clique no botão de download

crie as pastas shared Translate EN e PTBR dentro da pasta lua
dentro da pasta cliente vou abrir o arquivo backup_context.lua e localizar os diálogos dentro de (" ") e = " "

local Main = context:addOption("Data Files Management:")

esse é um dialogo de menu de contexto adicione a função getText a essa string e mude o formato do texto

local Main = context:addOption(getText("ContextMenu_Data_Files_Management"))

abaixo outro dialogo de menu de contexto

local alt = s:addOption("Alt Non PvP Zone Panel", worldobjects, function()

modificado para local alt = s:addOption(getText("ContextMenu_Zone_Panel"), worldobjects, function()

agora que você fez essa alteração na pasta da tradução vai criar o arquivo de texto e fazer a mesma coisa nas duas pastas

ContextMenu_EN = {
ContextMenu_Data_Files_Management = "Data Files Management",
ContextMenu_Zone_Panel = "Alt Non PvP Zone Panel",
}

ContextMenu_PTBR = {
ContextMenu_Data_Files_Management = "Gerenciar Banco de Dados",
ContextMenu_Zone_Panel = "Painel de criação de zonas não PVP",
}

abaixo um dialogo que é uma dica de ferramenta do ContextMenu_Zone_Panel

tooltip.description = "Input the coordinates to easily create non pvp zones"

mude para

tooltip.description = getText("Tooltip_create_zones")

no arquivo de texto

Tooltip_EN = {
Tooltip_create_zones = "Input the coordinates to easily create non pvp zones",
}

Tooltip_PTBR = {
Tooltip_create_zones = "Insira as coordenadas aqui para criar facilmente as zonas não pvp ou marque os pontos para salvar.",
}

no final desse texto existe um espaço porque dentro do jogo outro texto é mostrado para o jogador, na tradução você também deve colocar esse espaço para que os textos não apareçam colados dentro do jogo "remover casa segura: "

removeOption = tool:addOption('Remove Safehouse: ' .. title, worldobjects, function()

adicione getText()

removeOption = tool:addOption(getText("ContextMenu_Remove_Safehouse") .. title, worldobjects, function()

ContextMenu_Remove_Safehouse = "Remover casa segura: ",

abaixo desse menu de contexto remove safehouse esses dois textos são IGUI lembrando que eu já sei o que cada texto faz dentro do jogo e como eles aparecem assim fica muito mais simples saber como editar cada string pra cada diálogo durante a tradução então passe um bom tempo usando mod primeiro para você saber como cada texto vai aparecer pra você durante a jogatina

local msg = 'Safehouse ' .. title .. ' Removed!'

observe uma coisa nesse texto existe um espaço entre esses dois textos 'Safehouse ' ' Removed!' porque na interface do usuário dentro do jogo aparece outra string depois do nome safehouse com o nome do jogador na tradução você tem que manter esses mesmos espaços pra evitar que o texto fique colado quando ele aparecer pra você

local msg = getText("IGUI_Safehouse") .. title .. getText("IGUI_Removed")

no arquivo de texto

IG_UI_EN = {
IGUI_Safehouse = "Safehouse ",
IGUI_Removed = " removed",
}

IG_UI_PTBR = {
IGUI_Safehouse = "Casa segura ",
IGUI_Removed = " removida",
}

aqui também a mesma coisa sobre o espaço no texto

tooltip.description = "Safehouse: " .. title .. '\n' .. "Owner: " .. ownerName

adicione getText()

tooltip.description = getText("Tooltip_Safehouse") .. title .. '\n' .. getText("Tooltip_Owner") .. ownerName

no arquivo de texto

Tooltip_EN = {
Tooltip_Safehouse = "Safehouse: ",
Tooltip_Owner = "Owner: ",
}

Tooltip_PTBR = {
Tooltip_Safehouse = "Casa Segura: ",
Tooltip_Owner = "Proprietário: ",
}

isso aqui é um dialogo que aparece na cabeça do jogador

pMsg('Saved Zomboid/Lua/SH_Data.ini')

adicione getText()

pMsg(getText("IGUI_Save_SH_Data"))

no arquivo de texto

IG_UI_EN = {
IGUI_Save_SH_Data = "Saved in C / Users / XXX / Zomboid / Lua / SH_Data.ini game save folder.",
}

IG_UI_PTBR = {
IGUI_Save_SH_Data = "Salvo em C / Users / XXX / Zomboid / Lua / SH_Data.ini pasta do save do jogo.",
}

no arquivo ISnonPvpAreaUI

local titleText = "Admin Area UI"

local titleText = getText("IGUI_Admin_Area_UI")

no arquivo de texto

IG_UI_EN = {
IGUI_Admin_Area_UI = "Coordinates or Point Marker",
}

IG_UI_PTBR = {
IGUI_Admin_Area_UI = "Coordenadas ou Marcações",
}

self.player:Say('Zone Added')

self.player:Say(getText("IGUI_Zone_Added"))

IGUI_Zone_Added = "Zone added, see in admin panel",

IGUI_Zone_Added = "Zona adicionada, veja no painel do administrador.",

basta seguir esse padrão para qualquer arquivo depois que você terminar abra o jogo e veja se tudo foi traduzido
erros acontecem aqui quando erramos o nome da string ou confundimos letra maiúscula com minúscula na hora de mudar a string baixe o mod traduzido aqui e veja tudo o que foi feito no código dele

drive google com / drive / folders / 1kGdczyCr1MZ05O5u4w3TBoJ427lxhFjV

Categoria NONE

alguns mods não vem com o nome de exibição da categoria do item no inventário do jogador se for uma arma por exemplo procure o nome dela abrindo os arquivos de texto na pasta scripts
e adicione o DisplayCategory referente a o que é aquele item no caso de uma arma DisplayCategory = ToolWeapon, um item que serve como uma moeda de troca

IGUI_ItemCat_ToolWeapon = "Ferramenta / Arma",

module Base { item GoldBar { DisplayCategory = Money, Weight = 1.0, DisplayName = Gold Bar, icon = GoldBar, Type = Normal, WorldStaticModel = Gold_Ingot, } }

IGUI_ItemCat_Money = "Dinheiro",

então pra você não ficar perdendo tempo retraduzindo essas categorias que são adicionadas pelos mods o tempo todo você pode deixar isso salvo na pasta IG_UI_PTBR do seu próprio jogo pesquise esse nome dentro do arquivo -- Categoria do Item

e esses mods que traduzem outros mods?

você não precisa disso e nem precisa fazer isso, abra uma discussão na página do autor e deixe a sua tradução lá, baixe esses mods manualmente usando a ferramenta WorkshopDL e mova a pasta PTBR para a pasta do autor do mod que você quer traduzir, esses mods de tradução alguns são cópias não autorizadas do autor do mod e isso não é legal, só pode ser possível fazer um mod que traduz outro mod quando autor fornece as strings prontas para serem traduzidas na pasta EN com todos os textos, se você notar que ainda existem alguns textos em inglês notifique o autor sobre isso, a única coisa que teve ter nesses mods é o arquivo mod.info e a pasta PTBR quem copia o mod todo sem saber o que fazer vai alterar os textos na pasta scripts e no arquivo lua sem ter feito nada na pasta Translate essa é a forma errada de traduzir um mod você tem que fornecer sua tradução com tudo feito e adicionado na pasta Translate pra que todos os jogadores possam traduzir pro seu idioma local