Pular para o conteúdo
SheetForge

Localização

Esta página trata dos idiomas da UI do próprio produto. Localizar o texto do seu jogo — chaves, traduções, StringTables do Unity Localization — é um assunto diferente, com sua própria página: Planilhas de Localização.

A UI do produto — menus, a janela de autoria, inspectors, diálogos, relatórios, tooltips — é distribuída em 10 idiomas (o limite exato, incluindo quais fragmentos de relatório permanecem em inglês, está em "O limite da localização" logo abaixo):

English (padrão) · 한국어 · 日本語 · 简体中文 · 繁體中文 · Español · Français · Deutsch · Português (Brasil) · Русский

Mudando o idioma

  • Na primeira execução, o idioma da UI é definido automaticamente a partir do idioma do sistema operacional do seu editor (nove idiomas são mapeados diretamente; qualquer outro permanece em inglês). Uma linha no console registra a escolha — mude-a a qualquer momento como abaixo; uma escolha explícita nunca é sobrescrita.
  • Edit ▸ Preferences ▸ SheetForge → popup de idioma, ou o campo "Editor language" no topo do inspector de configurações de importação (ambos leem/gravam o mesmo valor).
  • O idioma é uma configuração por usuário (EditorPrefs) — cada colega de equipe usa o seu próprio idioma, e nada disso toca o controle de versão (zero atividade no VCS).

Os menus também são localizados

Os rótulos de [MenuItem] são atributos estáticos e não podem mudar em tempo de execução, então o SheetForge regenera um arquivo de menu enxuto (Assets/SheetForge/Editor/Generated/, gitignored) no idioma selecionado — mudar o idioma dispara uma recompilação curta (sem loops; conteúdo idêntico nunca é regravado). Se a pasta estiver ausente ou o idioma não corresponder (por exemplo, logo depois de clonar), ela se autorrepara automaticamente. A raiz Tools/SheetForge é uma constante fixa da marca; os rótulos finais seguem o idioma.

Mudanças de idioma ficam bloqueadas enquanto uma Importação/Exportação/Push está em execução — a recompilação de regeneração de menu não pode atrapalhar um pipeline em execução. Mude-o depois.

O limite da localização

Totalmente localizado em todos os 10 idiomas:

  • UI desenhada pelo editor: menus, a janela de autoria, inspector, diálogos, botões, tooltips.
  • O esqueleto do relatório e as frases de "por quê"/"como" de cada erro.

Inglês embutido (dentro do esqueleto localizado):

  • Fragmentos de detalhe do relatório — o valor problemático, sugestões de correspondência mais próxima, e outras partes interpoladas em tempo de execução, que não podem existir como chaves de tabela de idioma.
  • Exceções de baixo nível e logs de desenvolvedor ([SheetForge]).

Uma lacuna pendente, dita com honestidade: aproximadamente 345–360 das 1,043 chaves — as 227 chaves ui.studio.* do Data Studio, mais o bloco de preferência de tema e as linhas mais recentes de diálogo e log — ainda mantêm o texto em inglês nos oito idiomas além do inglês e do coreano. Toda chave existe em todo arquivo (a paridade é imposta por teste, então nada recorre a uma chave bruta), então isso é uma passagem de tradução pendente, não uma lacuna estrutural. Veja Capacidades e Limites ▸ Escopo da localização.

O código-fonte do produto contém zero literais de string em coreano — imposto por um teste de proteção em ambos os harnesses de teste. (A única exceção de dado: o nome que cada idioma usa para si mesmo, por exemplo 한국어, no seletor de idioma.)

Adicionando ou corrigindo traduções

Cada idioma é exatamente um arquivo: Assets/SheetForge/Core/Tooling/Localization/Lang/Lang{Language}.cs — um dicionário estático puro, então os tradutores trabalham em paralelo sem conflitos de merge entre idiomas.

  • O inglês (LangEn) é a lista canônica de chaves. Todo outro idioma precisa cobrir as mesmas chaves.
  • Um teste de paridade captura imediatamente uma chave ausente, uma chave extra, ou um placeholder danificado ({name}) em qualquer idioma.
  • Para ajustar uma tradução: edite o arquivo do idioma, mantenha os placeholders intactos, execute os testes.

Páginas relacionadas