Skip to content

NoTaskStudios/com.notask.finelocalization

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FineLocalization (Unity)

FineLocalization é um pacote leve e direto para projetos Unity, com foco em tornar a tradução multilíngue simples, prática e eficiente.

Através de uma planilha .csv com chaves e valores por idioma, o sistema permite que todos os textos do jogo sejam centralizados, gerenciados e atualizados de forma rápida — tanto durante o desenvolvimento quanto em produção.


Principais funcionalidades

  • Tradução automática via planilha CSV com múltiplos idiomas
  • Atualização dinâmica em runtime (ideal para WebGL, mobile e desktop)
  • Importação/atualização manual via Editor com ferramenta no menu Tools
  • Suporte completo ao TextMeshPro
  • Componente de texto localizado via Key (ex: menu.start)
  • Fallback automático quando uma chave está ausente
  • Suporte a múltiplas fontes/tabelas (ex: diálogos, menus, sistema etc.)
  • Evento para atualizar UI automaticamente quando o idioma muda:
    Action OnLocalizationChanged = () => { };
    

Para quem é este pacote?

  • Projetos Unity que precisam de localização multilíngue
  • Desenvolvedores que querem evitar duplicação de texto hardcoded
  • Equipes que precisam de flexibilidade para alterar textos em produção (runtime)

Instalação

Via UPM (Git)

No Unity, abra: Window → Package Manager → + → Add package from git URL...

Cole:

https://github.com/NoTaskStudios/com.notask.finelocalization.git

Importação manual

5d4798df-a692-4bb8-91e8-2b484d5f6a4f

Você também pode baixar o repositório e importar no projeto (caso prefira).


Setup no Editor

1) Abrir o menu e definir Table IDs

Vá até: Tools → Fine Localization

No painel, encontre Table IDs e informe o(s) identificador(es) das tabelas que deseja usar no projeto.

Você pode usar mais de um Table ID, por exemplo:

  • Planilha 1: regras
  • Planilha 2: erros

Onde encontrar o Table ID:

277aec4f-947b-4d13-8211-c6fe1370f6f1 a4522aab-5575-4030-9822-738d4bdf688c

2) Resolver Sheets

Clique em Resolve Sheets.

Isso busca automaticamente todas as planilhas disponíveis para os Table IDs fornecidos. Depois disso, selecione manualmente quais planilhas pertencem a este projeto.


3) Baixar as planilhas

Escolha a pasta onde as planilhas serão baixadas.

Importante: não baixe na pasta padrão:

  • Packages/Fine Localization/Resources/Localization

Depois, clique em Download.

As planilhas selecionadas serão baixadas e armazenadas localmente no projeto, prontas para uso pelo sistema de localização.


Usando no jogo

Traduzir textos com LocaleComponent

Para cada elemento de texto (ex: TextMeshProUGUI) que precisa de tradução:

  1. Adicione o componente LocaleComponent.cs
  2. Preencha o campo Key com a chave correspondente da planilha

Exemplo:

  • Key: menu.start

O sistema atualizará automaticamente o texto de acordo com o idioma ativo.

Também é possível usar por script (dependendo do seu fluxo).


Runtime (WebGL / Mobile / Desktop)

Configurar o RuntimeDownloader

Adicione um GameObject vazio na cena e anexe:

  • LocaleRuntimeDownloader.cs

Nele você define se o download das tabelas deve ser feito:

  • ✅ Automaticamente no Start() quando o jogador abre o jogo
  • 🛠️ Manualmente, apenas no Editor, quando o desenvolvedor decidir atualizar

Configuração extra: Skip Columns

Algumas planilhas podem ter colunas adicionais antes de Key (ex: ID interno, comentários, metadados). Para ignorar essas colunas, o FineLocalization permite configurar Skip, que define quantas colunas devem ser ignoradas antes da coluna Key.

Essa configuração fica em:

  • Resources/LocalizationSettings.asset

Durante o carregamento, o sistema ignora automaticamente as colunas especificadas.

Exemplo prático

ID Tipo Key pt-BR en-US
01 UI menu.start Iniciar Start
02 UI menu.exit Sair Exit

Nesse caso, existem duas colunas extras antes de Key (ID e Tipo), então:

  • Skip = 2

Configuração extra: Forçar linguagem no Editor

Durante o desenvolvimento, é útil testar diferentes idiomas direto no Editor, sem alterar arquivos externos.

Para isso existe o Force Editor Language (apenas para Play Mode no Editor).

Como usar

Vá até: Tools → Fine Localization → Settings

  1. Encontre Force Editor Language
  2. Selecione o idioma desejado (ex: pt-BR, en-US)
  3. Dê Play: o idioma será aplicado imediatamente

Isso não afeta builds em produção. Serve apenas para testes no Editor.

About

an package localization

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages