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 é.
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.
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.
Depois de clicar sobre o plugin Default Translation, clique no botão Instalar e no botão Ok que será exibido para confirmação.
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.
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:
É 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ê.