Este documento foi traduzido por IA. Para informações precisas, consulte a versão em inglês.
Contribuição de tradução
O idioma padrão do NocoBase é o inglês. Atualmente, o aplicativo principal suporta inglês, italiano, holandês, chinês simplificado e japonês. Convidamos você sinceramente a contribuir com traduções para outros idiomas, permitindo que usuários de todo o mundo desfrutem de uma experiência NocoBase ainda mais conveniente.
I. Localização do Sistema
1. Tradução da Interface do Sistema e Plugins
1.1 Escopo da Tradução
Aplica-se apenas à localização da interface do sistema NocoBase e de seus plugins, não abrangendo outros conteúdos personalizados (como tabelas de dados ou blocos de Markdown).


1.2 Visão Geral do Conteúdo de Localização
O NocoBase utiliza o Git para gerenciar seu conteúdo de localização. O repositório principal é: https://github.com/nocobase/nocobase/tree/main/locales
Cada idioma é representado por um arquivo JSON nomeado de acordo com seu código de idioma (ex: de-DE.json, fr-FR.json). A estrutura do arquivo é organizada por módulos de plugin, utilizando pares chave-valor para armazenar as traduções. Por exemplo:
Ao traduzir, por favor, converta-o gradualmente para uma estrutura semelhante à seguinte:
1.3 Teste e Sincronização da Tradução
-
Após concluir sua tradução, teste e verifique se todos os textos são exibidos corretamente. Também lançamos um plugin de validação de tradução - procure por
Locale testerno mercado de plugins.
Após a instalação, copie o conteúdo JSON do arquivo de localização correspondente no repositório git, cole-o dentro do plugin e clique em OK para verificar se o conteúdo da tradução está funcionando.

-
Uma vez enviado, os scripts do sistema sincronizarão automaticamente o conteúdo de localização para o repositório de código.
1.4 Plugin de Localização do NocoBase 2.0
Nota: Esta seção está em desenvolvimento. O plugin de localização para o NocoBase 2.0 possui algumas diferenças em relação à versão 1.x. Detalhes serão fornecidos em uma atualização futura.
II. Localização da Documentação (NocoBase 2.0)
A documentação do NocoBase 2.0 é gerenciada em uma nova estrutura. Os arquivos fonte da documentação estão localizados no repositório principal do NocoBase:
https://github.com/nocobase/nocobase/tree/next/docs
2.1 Estrutura da Documentação
A documentação utiliza o Rspress como gerador de site estático e suporta 8 idiomas. A estrutura é organizada da seguinte forma:
2.2 Fluxo de Trabalho de Tradução
-
Sincronização com a origem em inglês: Todas as traduções devem ser baseadas na documentação em inglês (
docs/en/). Quando a documentação em inglês for atualizada, as traduções devem ser atualizadas adequadamente. -
Estratégia de ramificação (branch):
- Use a branch
developounextcomo referência para o conteúdo mais recente em inglês. - Crie sua branch de tradução a partir da branch de destino.
- Use a branch
-
Estrutura de arquivos: Cada diretório de idioma deve espelhar a estrutura do diretório em inglês. Por exemplo:
2.3 Contribuindo com Traduções
- Faça um Fork do repositório: https://github.com/nocobase/nocobase
- Clone seu fork e mude para a branch
developounext. - Navegue até o diretório
docs/docs/. - Encontre o diretório do idioma com o qual deseja contribuir (ex:
pt/para português). - Traduza os arquivos markdown, mantendo a mesma estrutura de arquivos da versão em inglês.
- Teste suas alterações localmente:
- Envie um Pull Request para o repositório principal.
2.4 Diretrizes de Tradução
- Mantenha a formatação consistente: Mantenha a mesma estrutura de markdown, cabeçalhos, blocos de código e links da origem.
- Preserve o frontmatter: Mantenha qualquer YAML frontmatter no topo dos arquivos inalterado, a menos que contenha conteúdo traduzível.
- Referências de imagem: Use os mesmos caminhos de imagem de
docs/public/- as imagens são compartilhadas entre todos os idiomas. - Links internos: Atualize os links internos para apontar para o caminho correto do idioma.
- Exemplos de código: Geralmente, os exemplos de código não devem ser traduzidos, mas os comentários dentro do código podem ser traduzidos.
2.5 Configuração de Navegação
A estrutura de navegação para cada idioma é definida nos arquivos _nav.json e _meta.json dentro de cada diretório de idioma. Ao adicionar novas páginas ou seções, certifique-se de atualizar esses arquivos de configuração.
III. Localização do Site
As páginas do site e todo o conteúdo estão armazenados em: https://github.com/nocobase/website
3.1 Primeiros Passos e Recursos de Referência
Ao adicionar um novo idioma, consulte as páginas de idiomas existentes:
- Inglês: https://github.com/nocobase/website/tree/main/src/pages/en
- Chinês: https://github.com/nocobase/website/tree/main/src/pages/cn
- Japonês: https://github.com/nocobase/website/tree/main/src/pages/ja

As modificações de estilo global estão localizadas em:
- Inglês: https://github.com/nocobase/website/blob/main/src/layouts/BaseEN.astro
- Chinês: https://github.com/nocobase/website/blob/main/src/layouts/BaseCN.astro
- Japonês: https://github.com/nocobase/website/blob/main/src/layouts/BaseJA.astro

A localização dos componentes globais do site está disponível em: https://github.com/nocobase/website/tree/main/src/components

3.2 Estrutura de Conteúdo e Método de Localização
Utilizamos uma abordagem mista de gerenciamento de conteúdo. O conteúdo e os recursos em inglês, chinês e japonês são sincronizados regularmente a partir do sistema CMS e substituídos, enquanto outros idiomas podem ser editados diretamente em arquivos locais. O conteúdo local é armazenado no diretório content, organizado da seguinte forma:
3.3 Diretrizes de Tradução de Conteúdo
- Sobre a Tradução de Conteúdo Markdown
- Crie um novo arquivo de idioma baseado no arquivo padrão (ex: de
index.mdparaindex.pt.md). - Adicione propriedades localizadas nos campos correspondentes no arquivo JSON.
- Mantenha a consistência na estrutura do arquivo, links e referências de imagem.
- Tradução de Conteúdo JSON Muitos metadados de conteúdo são armazenados em arquivos JSON, que normalmente contêm campos multilíngues:
Notas de Tradução:
-
Convenção de Nomenclatura de Campos: Os campos de tradução geralmente usam o formato
{campo_original}_{codigo_do_idioma}.- Por exemplo: title_pt (título em português), description_pt (descrição em português).
-
Ao Adicionar um Novo Idioma:
- Adicione uma versão com sufixo de idioma correspondente para cada campo que precise de tradução.
- Não modifique os valores dos campos originais (como title, description, etc.), pois eles servem como conteúdo do idioma padrão (inglês).
-
Mecanismo de Sincronização do CMS:
- O sistema CMS atualiza periodicamente o conteúdo em inglês, chinês e japonês.
- O sistema apenas atualizará/substituirá o conteúdo para esses três idiomas (algumas propriedades no JSON) e não excluirá os campos de idioma adicionados por outros contribuidores.
- Por exemplo: se você adicionou uma tradução em português (title_pt), a sincronização do CMS não afetará este campo.
3.4 Configurando o Suporte para um Novo Idioma
Para adicionar suporte a um novo idioma, você precisa modificar a configuração SUPPORTED_LANGUAGES no arquivo src/utils/index.ts:
3.5 Arquivos de Layout e Estilos
Cada idioma precisa de arquivos de layout correspondentes:
- Crie um novo arquivo de layout (ex: para português, crie
src/layouts/BasePT.astro). - Você pode copiar um arquivo de layout existente (como
BaseEN.astro) e traduzi-lo. - O arquivo de layout contém traduções para elementos globais como menus de navegação, rodapés, etc.
- Certifique-se de atualizar a configuração do seletor de idiomas para alternar corretamente para o idioma recém-adicionado.
3.6 Criando Diretórios de Páginas de Idioma
Crie diretórios de páginas independentes para o novo idioma:
- Crie uma pasta nomeada com o código do idioma no diretório
src(ex:src/pt/). - Copie a estrutura de páginas de outros diretórios de idiomas (ex:
src/en/). - Atualize o conteúdo das páginas, traduzindo títulos, descrições e textos para o idioma de destino.
- Garanta que as páginas usem o componente de layout correto (ex:
.layout: '@/layouts/BasePT.astro').
3.7 Localização de Componentes
Alguns componentes comuns também precisam de tradução:
- Verifique os componentes no diretório
src/components/. - Preste atenção especial aos componentes com texto fixo (como barras de navegação, rodapés, etc.).
- Os componentes podem usar renderização condicional para exibir conteúdo em diferentes idiomas:
3.8 Teste e Validação
Após concluir a tradução, realize testes completos:
- Execute o site localmente (geralmente usando
yarn dev). - Verifique como todas as páginas são exibidas no novo idioma.
- Valide se a funcionalidade de troca de idioma funciona corretamente.
- Certifique-se de que todos os links apontam para as versões de página do idioma correto.
- Verifique os layouts responsivos para garantir que o texto traduzido não quebre o design da página.
IV. Como Começar a Traduzir
Se você deseja contribuir com uma nova tradução de idioma para o NocoBase, siga estes passos:
Após concluir sua tradução, envie um Pull Request para o NocoBase. Os novos idiomas aparecerão na configuração do sistema, permitindo que você selecione quais idiomas deseja exibir.

Documentação do NocoBase 1.x
Para o guia de tradução do NocoBase 1.x, consulte:

