Adicionar um novo idioma de interface ao ONLYOFFICE Docs via Docker

Introdução

A interface do ONLYOFFICE Docs está disponível em diversos idiomas, mas pode ocorrer do seu idioma nativo estar ausente da lista oficial. Se for este o caso e você tiver o interesse de participar da tradução da interface para o seu idioma, será necessário testar a aplicação localmente para verificar se tudo foi traduzido corretamente e se as palavras e frases se encaixam de forma adequada no layout dos menus.

Este artigo explicará como você pode realizar a injeção de idiomas e testar esse procedimento utilizando a implantação via Docker.


Participando da tradução

Existem duas maneiras oficiais de contribuir com o processo de tradução e localização do ecossistema:

  • Traduzir o ONLYOFFICE Docs (juntamente com o ONLYOFFICE Workspace e o ONLYOFFICE Mail, caso queira) utilizando o nosso Sistema de Tradução online. O processo é bastante simples. Assim que a tradução for concluída, os arquivos de idioma da interface serão incluídos na compilação do próximo lançamento oficial (release). Também podemos enviá-los previamente para você homologar de forma isolada. Se você gostaria de participar ativamente, sinta-se à vontade para entrar em contato conosco através do e-mail documentation@onlyoffice.com.
  • Alternativamente, você pode usar o nosso repositório do GitHub para baixar os arquivos brutos de idioma e traduzi-los utilizando o editor de sua preferência. Os arquivos de localidade (locale) estão organizados nos seguintes caminhos estruturais:

    Document Editor (Editor de Textos)

    Presentation Editor (Editor de Apresentações)

    Spreadsheet Editor (Editor de Planilhas)

    Existem arquivos estruturados no formato JSON correspondentes a cada um dos idiomas suportados pelo sistema. Você pode corrigir os arquivos já existentes (via pull request) ou criar um novo arquivo de idioma nomeado estritamente com o código ISO de localidade de duas letras (por exemplo: pt.json).

Verificando arquivos traduzidos no servidor

Para realizar as verificações visuais (homologação), instale a versão de servidor do ONLYOFFICE Docs em sua máquina local. As instruções de instalação passo a passo estão disponíveis aqui para a implantação via Docker.

Se você utilizou o nosso sistema online fechado de tradução, entre em contato enviando um e-mail para documentation@onlyoffice.com solicitando que exportemos e enviemos os seus arquivos compilados para o seu endereço.

Assim que tiver os arquivos JSON da interface em mãos, posicione-os seguindo esta árvore de diretórios no seu servidor:

Document Editor

  • documentserver/web-apps/apps/documenteditor/main/locale
  • documentserver/web-apps/apps/documenteditor/mobile/locale

Presentation Editor

  • documentserver/web-apps/apps/presentationeditor/main/locale
  • documentserver/web-apps/apps/presentationeditor/mobile/locale

Spreadsheet Editor

  • documentserver/web-apps/apps/spreadsheeteditor/main/locale
  • documentserver/web-apps/apps/spreadsheeteditor/mobile/locale

Nota: O caminho base documentserver citado acima corresponde fisicamente à pasta principal de instalação do ONLYOFFICE Docs no seu contêiner.

Atenção: Lembre-se de que você precisará entrar na sessão de terminal (shell) internamente no contêiner Docker para conseguir navegar e mapear os arquivos e diretórios listados acima.

Após injetar os arquivos de idioma, abra o portal web, inicie qualquer documento e adicione manualmente a sintaxe ?lang=seu_codigo_de_idioma como parâmetro na URL exibida na barra de endereços do navegador.

Exemplo prático de chamada: Para forçar o roteamento e abrir os editores utilizando o idioma búlgaro, defina o parâmetro no final da URL da seguinte maneira:
?lang=bg

Se os arquivos estiverem íntegros, você notará a interface dos editores recarregar e injetar instantaneamente as strings renderizadas da sua tradução.


Atualizando arquivos traduzidos e invalidando caches

Sempre que você revisar ou corrigir alguma linha da sua tradução (ou após a aplicação de atualizações no ONLYOFFICE Docs), será necessário substituir os arquivos `.json` e recarregá-los na instância do servidor. Como as linguagens de interface são cacheadas ativamente na memória para acelerar a renderização web, você e os demais usuários não visualizarão as modificações até que o cache do servidor seja invalidado (flushed).

Isso deve ser feito da seguinte maneira:

Privilégios: Todas as ações de limpeza abaixo devem ser realizadas dentro da sessão interativa do contêiner Docker.
  1. Execute o seguinte script shell utilitário para forçar a limpeza imediata do cache do proxy:
    documentserver-flush-cache.sh

    Nota Histórica: Em versões mais antigas do ONLYOFFICE Docs, o administrador precisava editar as chaves do NGINX manualmente. Atualmente, todas as etapas de expurgo são feitas de forma totalmente automatizada através deste único script.

Depois disso, o cache será expurgado e redefinido para todos os clientes, forçando a leitura nativa e atualizando as traduções da interface em tempo real.

Artigo com o tag:
Veja todas as etiquetas