Blog sobre OJS e Periódicos Eletrônicos

Problemas de tradução no OJS 3.3: como resolver?

whatsapp

Sua revista foi atualizada para a versão mais recente, mas você tem se derapado com erros como os da imagem abaixo?

20220118 erro ojs

Se você já se deparou com algum "erro" deste tipo, não se preocupe, seu sistema não está com nenhuma falha grave e este é apenas um problema de tradução. Neste post nós vamos explicar porque que esse tipo de "erro" acontece nas versões mais recentes (pode acontecer em versões mais antigas também) e como você pode resolver através de um plugin nativo do OJS.

Solução colaborativa multi-idioma

Primeiramente, é importante relembrar que o OJS é um software opensource desenvolvido de maneira colaborativa. Isso significa que há muitos profissionais, de diferentes nacionalidades e idiomas nativo distintos participando do processo de desenvolvimento e melhoria do sistema. Assim, é importante que um idioma padrão seja adotado para facilitar o entendimento da plataforma e a própria comunicação da equipe global de desenvolvimento.

Toda versão disponibilizada do OJS, seja ela uma versão maior ou uma pequena atualização, estará totalmente traduzida no idioma inglês. Faça o teste e altere o idioma do seu usuário no OJS para o inglês. Se acessar novamente a página que apresenta um "erro" como o exemplificado acima, você vai reparar que o mesmo não acontece com o idioma inglês.

Mas por que isso acontece no português ou em outros idiomas? Bom, isso é porque o termo em português do que chamamos de constante de tradução (ex.: ##manager.setup.dateTime.custom##) está ausente do sistema. Para que o sistema seja multi-idioma, todos os botões, navegações, textos de instrução e tudo o que diz respeito à estrutura e às informações do sistema, devem ser variáveis para poder receber informações diferentes de acordo com o idioma ativo do usuário logado. Assim, todo o sistema é repleto de informações como esta entendida como um erro.

Quando um idioma diferente do inglês é ativado, o sistema vai localizar nos arquivos de tradução a correlação das constantes de tradução com seus respectivos significados e exibir na tela do usuário. Se a tradução de um termo não estiver disponível nos arquivos de tradução, o sistema não "imprimirá" a tradução da constante e a exibirá tal como ela é.

Exemplo da estrutura de arquivos de tradução para o idioma pt_BR.Exemplo da estrutura de arquivos de tradução para o idioma pt_BR.

As traduções de cada um dos termos ##exemplo.traducao## serão escritas nos arquivos .po conforme o exemplo abaixo:

msgid "submission.submit.title"
msgstr "Submeter um artigo"

msgid "submission.submit.userGroup"

msgstr "Submeter em meu papel como..."

msgid "submission.submit.userGroupDescription"
msgstr "Escolha o papel sob o qual está a submeter este artigo."

Assim, para resolver o problema abordado nesse post, a solução seria adicionar as constantes e a respectivas traduções em um arquivo como esse. Mas não se engane, esta pode não ser uma tarefa simples. Além de ter que acessar os arquivos fontes do sistema, pode ser que a simples inclusão de uma constante e sua tradução em um arquivo arbitrário não resolva exatamente seu problema. Por isso, esta não é a solução ideal se você não possui conhecimentos avançados ou não tem familiaridade com acesso a arquivos via FTP, por exemplo.

A solução

Existe uma solução mais fácil via próprio sistema, pelo painel do usuário. Você precisará apenas de acesso como gerente do OJS.

Esta solução trata-se de um plugin que identifica quando uma constante de tradução fica sem correspondência do idioma ativo e carrega o idioma padrão (inglês) do sistema. Com esse plugin ativo, você não se deparará mais com termos esquisitos entre duas ##, mas terá o pequeno inconveniente de ter alguns termos em inglês aparecendo na sua interface em português, por exemplo. Ainda que não seja a solução ideal para a tradução correta do idioma ativo, esse plugin torna possível a compreensão das mensagens do sistema que, porventura, estejam sem seus termos traduzidos.

Plugin Default Translation (Plugin de Tradução)

Após efetuar login em seu OJS com um usuário de papel gerente, no menu lateral, acesse a opção Configurações > Website.

No menu lateral do seu OJS, acesse a opção Configurações > Website.No menu lateral do seu OJS, acesse a opção Configurações > Website.

Depois, do lado direito , clique sobre a aba Plugins e, em seguida, em Galeria de plugins. Localize o plugin Default Translation e clique sobre o seu título. A descrição do plugin poderá aparecer como: Make OJS fall back on English when elements of the software translation are missing.

Em seguida, clique na aba Plugins e, na sequência, em Galeria de plugins.Em seguida, clique na aba Plugins e, na sequência, em Galeria de plugins.

Depois de clicar sobre o plugin Default Translation, clique no botão Instalar e no botão Ok que será exibido para confirmação.

Clique no botão "Instalar" da janela exibida e, depois, no botão "ok" exibido na sequência para confirmar.Clique no botão "Instalar" da janela exibida e, depois, no botão "ok" exibido na sequência para confirmar.

Pronto, agora o seu plugin está instalado mas ainda precisa ser habilitado. Clique novamente na aba Plugin e, dessa vez, na opção Plugins instalados, ao lado da opção acessada anteriormente (Galeria de plugins) e localize o plugin Default Translation ou Plugin de Tradução. Depois de instalado ele pode ser exibido traduzido na sua lista de plugins. Sua descrição, em português, será: Este plugin permite a exibição de texto em inglês quando o idioma atual da interface do usuário não possui uma tradução desse texto.

Clique na caixa de marcação à direita do plugin.

Marque a caixa de seleção para habilitar o seu plugin.Marque a caixa de seleção para habilitar o seu plugin.

Pronto. Agora todas as constantes de tradução não traduzidas exibirão os termos em inglês quando necessário. Uma funcionalidade nova na versão OJS 3.3.0-8 são as opções de padrão de exibição de data que foi lançada sem ter os novos termos traduzidos para o português. Foi essa tela que utilizamos para ilustrar esta publicação. Depois do plugin ativado, essa páginas será exibida assim:

Configurações de data e hora com termos carregados em inglês por não possuir tradução no idioma ativo (português).Configurações de data e hora com termos carregados em inglês por não possuir tradução no idioma ativo (português).

É isso. Espero que essa dica seja valiosa para você e não deixe de comentar e compartilhar com quem pode se beneficiar deste conteúdo se esta dica foi boa para você.


Cadastre-se em nosso informativo para ficar por dentro dos textos que publicamos em nosso blog.

Favor habilitar seu javascript para enviar este formulário

Atualizado em Terça, 18 Janeiro 2022 18:16
Eugênio Telles

Eugênio Telles

Eugênio Telles é publicitário pós-graduado em Marketing Digital pela ESPM-RJ, diretor executivo da GeniusDesign, empreendedor e podcaster.

Somos uma agência especializada em OJS e periódicos científicos

O Peletron é um blog mantido pela GeniusDesign, agência de marketing digital e científico especializada em OJS e periódicos científicos com 14 anos de mercado e 7 dedicados à publicação científica.

Fiocruz
Revista Abralin
Sesi Sp Editora
Cadlin
Farmanguinhos
Associação Brasileira de Criminalística
Peletron - Periódico Eletrônico

Peletron - Periódico Eletrônico

+55 . 11 . 98419-3413

CNPJ: 27.339.106/0001-70