plonegovbr / brasil.gov.barra

Brasil.gov.br: Barra de Identidade
http://www.plone.org.br/gov/
7 stars 11 forks source link

A barra local não está internacionalizada #26

Open hvelarde opened 8 years ago

hvelarde commented 8 years ago

O uso da barra local em sites numa língua diferente do português brasileiro precisa a internacionalização do conteúdo.

idgserpro commented 8 years ago

Não seria também o caso de termos essa internacionalização na própria barra? Poderíamos pedir a opinião do @caduvieira sobre isso.

A adição de um parâmetro i18n contendo o locale como 'pt', 'en' ou 'es' seria interessante e quando fosse internacionalizado poderia não carregar a campanha como a do mosquito.

caduvieira commented 8 years ago

Tem o atributo translate mas ainda não é implementado pelos browsers. http://www.w3schools.com/tags/att_global_translate.asp

Você tem alguma sugestão para lógica no servidor? O SERPRO barrou quando tentamos deixar a barra dinâmica via python/flask.

idgserpro commented 8 years ago

Na pior das hipóteses poderia ter várias barras, barra-en.js, barra-es.js que seriam geradas durante o processo de build que vocês fazem, mas aí geraria um esforço muito grande por parte dos responsáveis pela barra, atrasaria o desenvolvimento e não sei se o uso multilíngue seria tão intenso a ponto de justificar esse overhead.

caduvieira commented 8 years ago

A barra está internacionalizada no ambiente de teste. Tem em pt-BR, en e fr. Não falo espanhol para traduzir para o mesmo. Nesse teste está somente o texto da barra e não tem nada da campanha.

Pode testar? barra.governoeletronico.gov.br/teste/

idgserpro commented 7 years ago

@caduvieira Ok por aqui. Basta rodar o comando wget --header="Accept-Language: fr" http://barra.brasil.gov.br/barra.js?v=$RANDOM && mv barra.js\?v=* barra.js contendo as línguas que você falou.

Prezados, quando o relato https://github.com/plonegovbr/brasil.gov.barra/issues/30 for atendido (só mesclar o PR https://github.com/plonegovbr/brasil.gov.barra/pull/37), ficará mais tranquilo atender essa demanda se ainda tiverem interesse: basta adicionar mais opções no painel de controle e baixar as versões da barra em várias línguas usando o comando acima, dá até pra automatizar colocando um script em bash na pasta static que baixa das línguas que a barra dá suporte.

@hvelarde Sobre a barra em espanhol, se um dia tiver tempo, acho que você poderia nos ajudar. Ver https://github.com/govbr/barra.govbr/issues/22 (são basicamente 6 strings em https://github.com/govbr/barra.govbr/blob/9772901fcfebc303d87c3be8c0f92a0ccee58bea/recipes/default/assets/i18n/traducao_es.json) :)

hvelarde commented 7 years ago

posso ajudar, sim; me lembrem depois que agora estou num aeroporto esperando o voo para voltar.

idgserpro commented 7 years ago

@hvelarde Valeu pelos reviews nos PRs, agora essa demanda pode aproveitar o que foi feito nos issues para ter uma infraestrutura de vários js com línguas diferentes. Se tiver interesse na barra em espanhol, você poderá auxiliar o @caduvieira e atualizar as strings de tradução no repositório da barra. Obrigado!

idgserpro commented 5 years ago

http://barra.governoeletronico.gov.br/instrucoes.html#outras-linguas-da-barra

Inglês: http://barra.brasil.gov.br/barra_2.0.js.en
Francês: http://barra.brasil.gov.br/barra_2.0.js.fr
Espanhol: http://barra.brasil.gov.br/barra_2.0.js.es

Em tese, poderia haver uma condição para definir o tipo a ser retornado: https://github.com/plonegovbr/brasil.gov.barra/blob/22f886bacb206b70091616b4d184594f3d8dd331/src/brasil/gov/barra/browser/templates/barra_js.pt

from plone.app.multilingual.interfaces import ILanguage
language = ILanguage(context).get_language()

Colocar o import condicional:

try:
    pkg_resources.get_distribution('plone.app.multilingual')
except pkg_resources.DistributionNotFound:
    HAS_MULTILINGUAL = False
else:
    HAS_MULTILINGUAL = True