Grafana: Internacionalização

Criado em 27 mai. 2014  ·  209Comentários  ·  Fonte: grafana/grafana

Oi,

como podemos adicionar uma tradução (arquivo de idioma) da GUI? Não há muito em inglês, mas nosso cliente prefere o idioma alemão.

Se alguém explicar como traduzir farei a tradução para o alemão. Talvez outros usuários contribuam com outros idiomas.

Obrigado
MarkusR

areux typfeature-request

Comentários muito úteis

@markusr Desculpe, não há uma maneira fácil de adicionar internacionalização no momento. Provavelmente não terá alto valor por um longo tempo e, a menos que haja uma boa maneira de fazer isso (que seja fácil de manter e não prejudique o desempenho do template), isso não acontecerá. Mas eu não olhei muito para angular.js e internacionalização.

Mas se houver outras pessoas que acham que isso é importante, por favor, me avise (e marque este problema com +1)

Todos 209 comentários

@markusr Desculpe, não há uma maneira fácil de adicionar internacionalização no momento. Provavelmente não terá alto valor por um longo tempo e, a menos que haja uma boa maneira de fazer isso (que seja fácil de manter e não prejudique o desempenho do template), isso não acontecerá. Mas eu não olhei muito para angular.js e internacionalização.

Mas se houver outras pessoas que acham que isso é importante, por favor, me avise (e marque este problema com +1)

+1

Vou fazer a tradução para o chinês simplificado.

+1

+1

+1

+1
Serei capaz de fazer traduções para espanhol e catalão.

Eu fiz algumas pesquisas.

Eu sugiro usar o angular-translate e fazer a tradução em transifex ou algo semelhante.

Eu também gostaria de ter um apoio do alemão :-)

+1

+1

Já trabalhei em vários projetos com internacionalização e isso tende a desacelerar imensamente a velocidade de desenvolvimento. Mas eu entendo a necessidade de consumir informações em sua língua nativa.

Talvez possamos ter documentação em diferentes idiomas ao invés do produto? É 99% sobre gráficos e números de qualquer maneira :) // cc @torkelo @ nopzor1200

+1

+1

+1

+1 @bergquist Impede o uso de Grafana em projetos b2g

+1

+1

+1

+1 .. eu posso fornecer tradução para francês e árabe

+1

Portugues - brasil

+1

ja_JP.utf8

+1
e outra questão dentro disso: no momento grafana não suporta os "tremas" alemães como em äöü. Isso é um problema porque se eu usá-los no campo de alias de uma legenda de gráfico, o gráfico inteiro não funciona como esperado e gera um "erro interno do servidor".
agora eu mudei os tremas para sua representação, mas não é uma boa solução.

+1

+1

+2

+1

+1

+1

Outro (tipo de) empecilho é que a exportação de CSV precisa de internacionalização: É frustrante, mas nos países de língua alemã o "," é usado para separar decimais onde internacionalmente é o ".". O problema é que o Excel / LibreOffice com as configurações do idioma alemão importará os números como texto. : - /
Além disso: sim, o idioma alemão para a GUI seria incrível!

Algum avanço com a internacionalização ?. Estou prestes a começar a trabalhar em um script de tradução, mas antes queria verificar se alguém aqui já tem algo.

+1. Também estou me perguntando se você está procurando ajuda para fazer isso.

Isso seria um empecilho para nós; sem o i18n, não posso usar o Grafana em um projeto que estamos analisando.

+1

+1

+1

+1

+1

+1
Vou fazer a tradução para o russo.

+1

+1
pronto para ajudar com tradução russa

+1

+1
essa falta de localização realmente nos impede de usar a grafana em um de nossos projetos.

👍 +2

+1

+1

+1

+1

+1

+1

+1

+1

+1

+1

+1

+1

  • traduzir chinês

+1

+1

+1

+1

+1

De alguma forma, consegui traduzir Grafana para o francês usando angular-translate . Está funcionando como 90%.

spectacle l12531

Não consigo traduzir o calendário agora:

spectacle d12531

Eu tenho um arquivo no qual escrevo as traduções para cada idioma:

app.config(['$translateProvider', function ($translateProvider) {
      $translateProvider.translations('fr', {
        'resetmail': 'Mot de passe oublié?',
        'User' : "Utilisateur",
        "Password" : "Mot de passe",
        "emailorusername" : "mail ou identifiant",
        "Back to dashboard" : "Retour au tableau de bord",

Eu canalizo os textos em inglês nos HTMLs assim:

<span class="gf-form-label width-7">{{'User' | translate}}</span>
<span class="gf-form-label width-7">{{'Password' | translate }}</span>

Até funciona para loops

<select class="gf-form-input" ng-model="ctrl.prefs.timezone" ng-options="f.value as (f.text | translate) for f in ctrl.timezones">

Vou limpar minha bagunça um pouco e postar os códigos mais tarde

+1

+1
@Nayar Consegui mudar quase tudo, exceto o menu suspenso e o calendário. Você encontrou a solução?
grafana

@Nayar Qual é o status da sua limpeza de código? Com certeza estaria interessado na solução que você expôs, e acho que pela primeira vez ela atenderá às necessidades da maioria das pessoas que postaram aqui.

+1
Gostamos da abordagem de translação angular. Você ainda recomendaria ter conteúdo de painel diferente para idiomas diferentes? Temos o requisito de ter o Grafana UX e o próprio painel em um idioma específico (holandês, alemão, francês).

Estou colocando barebones neste branch: https://github.com/Nayar/grafana/commits/i18n

Já traduzi o formulário de login.

screenshot_20171212_162104

+1

+1

+1

+1

+1 russo

+1

+1

A internacionalização só atrasará o desenvolvimento se a equipe principal cuidar disso.

Muitos outros projetos permitem que a comunidade traduza com ferramentas como o crowdin .

1 para tradução em russo. mande-me um e-mail quando estiver pronto

+1 japonês

+1 coreano

+1

1 para o idioma chinês!

+1 para pacote de idioma chinês

+1 para pacote de idioma chinês

+1 para pacote de idioma chinês

+1 para pacote de idioma chinês

+1 para pacote de idioma chinês

+1

+1

Seria ótimo se você não enviar spam com comentários "+1". Se você gostou disso, você pode dar um 'like' no primeiro post. Caso contrário, seria difícil iniciar uma discussão sobre a solicitação de recurso aqui se houver milhares de comentários "+1" entre eles. Obrigado!

Olá, Torkelo! Tenho um pedido, hoje tem condições de internacionalização? Eu li muito post, mas não tenho claro se é possível. Obrigado!

+1 búlgaro

+1 persa + RTL

+1 português - BR

+1 para pacote de idioma chinês

+1 para pacote de idioma chinês

+1

+1

+1 para suporte francês 👍

1 para pacote de idioma japonês

+1 português - BR

+1 para pacote de idioma chinês

+1 para chinês simplificado

+1

+1

+1

+1 para chinês simplificado

Oi,

Parece que Grafana usa AngularJS. Angular Translate é uma solução para trazer internacionalização em aplicativos AngularJS. Já usei e funciona bem. Eu também desenvolvi o Angular Translate Quality , um plug-in NodeJS que você pode adicionar ao seu processo de construção para verificar fontes JS, modelos HTML e arquivos de tradução.

Painéis internacionalizados são um requisito frequente dos clientes. Para administrações e organizações públicas, pode até ser obrigatório (essa é a lei). Supondo que alguém envie uma solicitação pull para adicionar i18n no Grafana, e desde que seja compatível com suas diretrizes de desenvolvimento, você aceitaria? Também implica que você confiará na comunidade para manter os arquivos de tradução. É algo que você estaria pronto para aceitar?

BTW, você planeja manter o AngularJS? Se você quiser migrar para outro framework da web, a internacionalização terá que ser redefinida e fazer o trabalho agora não faria sentido.

Estamos migrando React, grande parte da Grafana já está em reação

OK, obrigado. Limitei minhas verificações à primeira mensagem e ao arquivo package.json .
Pergunta: migrar implica atualizar o que existe. Você considerou trabalhar na internacionalização durante a migração?

+1

+1 @torkelo , i18n é muito útil, eu acho.

+1

1 para francês

De alguma forma, consegui traduzir Grafana para o francês usando angular-translate . Está funcionando como 90%.

spectacle l12531

Não consigo traduzir o calendário agora:

spectacle d12531

Eu tenho um arquivo no qual escrevo as traduções para cada idioma:

app.config(['$translateProvider', function ($translateProvider) {
      $translateProvider.translations('fr', {
        'resetmail': 'Mot de passe oublié?',
        'User' : "Utilisateur",
        "Password" : "Mot de passe",
        "emailorusername" : "mail ou identifiant",
        "Back to dashboard" : "Retour au tableau de bord",

Eu canalizo os textos em inglês nos HTMLs assim:

<span class="gf-form-label width-7">{{'User' | translate}}</span>
<span class="gf-form-label width-7">{{'Password' | translate }}</span>

Até funciona para loops

<select class="gf-form-input" ng-model="ctrl.prefs.timezone" ng-options="f.value as (f.text | translate) for f in ctrl.timezones">

Vou limpar minha bagunça um pouco e postar os códigos mais tarde

==========================================

Eu tenho muita ajuda.
obrigada .
e principalmente ter sucesso

mas
Eu não tive sucesso.
pageHeader (arquivo tsx)

Você consertou isso?
Preciso da tua ajuda.

return <h1 className="page-header__title">{title}</h1>;

->
return <h1 className="page-header__title">{title | translate}</h1>;

https://stackoverflow.com/questions/53476757/angular-translate-in-grafana-headerpage-modify-tsx-file

Só uma dica - no Canoe (getcanoe.io), decidimos usar o POEditor.com e deixar as pessoas se inscreverem e ajudarem com as traduções. Funciona muito bem e temos mais de 100 pessoas ajudando na tradução. POEditor é gratuito para projetos de código aberto. Não posso dizer que desacelera muito o desenvolvimento, se é que diminui.

@sundoforce
Isso pode ser um problema de tempo. O provedor de tradução pode ser executado antes que o título seja retornado. Tente encontrar uma maneira de executar novamente o ciclo de tradução. O arquivo 'tsx' parece ser o problema aqui, porque não acho que haja uma maneira de carregar o serviço angular neste arquivo.

+1 para chinês simplificado

+1 para chinês simplificado

+1

+1 para chinês tradicional

+1

+1

@sundoforce ou qualquer pessoa que implementou a tradução com sucesso em um projeto em execução:
Você pode ajudar na implementação passo a passo? Quero saber exatamente como criar o novo arquivo de tradução e onde e como atualizá-lo para que reflita o projeto.

+1

De alguma forma, consegui traduzir Grafana para o francês usando angular-translate . Está funcionando como 90%.

Isso é ótimo @sundoforce ! Você poderia compartilhar seus arquivos para que possamos traduzir o Grafana para outros idiomas? Talvez assim possamos encontrar soluções para os problemas que está enfrentando. Desde já, obrigado!

+1

+1

+1
+1
+1

+1

+1
+1
+1

+1 para chinês simplificado

Por favor, pare de enviar spam para este problema. Em vez disso, vote na questão.

No momento, estamos reescrevendo o frontend do Grafana de angular para react, por isso é muito diferente do que consideraríamos agora.

De alguma forma, consegui traduzir Grafana para o francês usando angular-translate . Está funcionando como 90%.
spectacle l12531
Não consigo traduzir o calendário agora:
spectacle d12531
Eu tenho um arquivo no qual escrevo as traduções para cada idioma:

app.config(['$translateProvider', function ($translateProvider) {
      $translateProvider.translations('fr', {
        'resetmail': 'Mot de passe oublié?',
        'User' : "Utilisateur",
        "Password" : "Mot de passe",
        "emailorusername" : "mail ou identifiant",
        "Back to dashboard" : "Retour au tableau de bord",

Eu canalizo os textos em inglês nos HTMLs assim:

<span class="gf-form-label width-7">{{'User' | translate}}</span>
<span class="gf-form-label width-7">{{'Password' | translate }}</span>

Até funciona para loops

<select class="gf-form-input" ng-model="ctrl.prefs.timezone" ng-options="f.value as (f.text | translate) for f in ctrl.timezones">

Vou limpar minha bagunça um pouco e postar os códigos mais tarde

==========================================

Eu tenho muita ajuda.
obrigada .
e principalmente ter sucesso

mas
Eu não tive sucesso.
pageHeader (arquivo tsx)

Você consertou isso?
Preciso da tua ajuda.

return <h1 className="page-header__title">{title}</h1>;

->
return <h1 className="page-header__title">{title | translate}</h1>;

https://stackoverflow.com/questions/53476757/angular-translate-in-grafana-headerpage-modify-tsx-file

olá cordial, será que você pode me dar uma mão como traduzir. grafana para espanhol, o selecionador de data e o selecionador de tempo.

++++

+1

1+ para traduzir para o espanhol

Traduzi arquivos .html do diretório "grafana / public", mas descobri que não são suficientes.
É possível incluir minhas traduções em grafana?

Seria um refator de front-end Grafana completo, mas é uma ideia . Onde podemos votar uma questão?

+1 para traduzir para chinês

De alguma forma, consegui traduzir Grafana para o francês usando angular-translate . Está funcionando como 90%.
spectacle l12531
Não consigo traduzir o calendário agora:
spectacle d12531
Eu tenho um arquivo no qual escrevo as traduções para cada idioma:

app.config(['$translateProvider', function ($translateProvider) {
      $translateProvider.translations('fr', {
        'resetmail': 'Mot de passe oublié?',
        'User' : "Utilisateur",
        "Password" : "Mot de passe",
        "emailorusername" : "mail ou identifiant",
        "Back to dashboard" : "Retour au tableau de bord",

Eu canalizo os textos em inglês nos HTMLs assim:

<span class="gf-form-label width-7">{{'User' | translate}}</span>
<span class="gf-form-label width-7">{{'Password' | translate }}</span>

Até funciona para loops

<select class="gf-form-input" ng-model="ctrl.prefs.timezone" ng-options="f.value as (f.text | translate) for f in ctrl.timezones">

Vou limpar minha bagunça um pouco e postar os códigos mais tarde

==========================================
Eu tenho muita ajuda.
obrigada .
e principalmente ter sucesso
mas
Eu não tive sucesso.
pageHeader (arquivo tsx)
Você consertou isso?
Preciso da tua ajuda.
return <h1 className="page-header__title">{title}</h1>;
->
return <h1 className="page-header__title">{title | translate}</h1>;
https://stackoverflow.com/questions/53476757/angular-translate-in-grafana-headerpage-modify-tsx-file

olá cordial, será que você pode me dar uma mão como traduzir. grafana para espanhol, o selecionador de data e o selecionador de tempo.

Eu entendi trabalhos de tradução de angular em angular. mas a grafana tem muitos arquivos TSX de react, como o angular-translate funciona nele?

+1
Brasil portugues

+1

Eu tenho tradução para 100% dos textos encontrados em arquivos html para o idioma polonês. Pronto para implementar, mas precisa de suporte ??

+1
Posso ajudar com a tradução para eslovaco sk_SK

@bergquist , então o i18n está totalmente descartado para o futuro Grafana com React? Pela minha experiência, o i18n é muito fácil se considerado desde o início do projeto.

+1
Eu posso ajudar a traduzir para o francês

+1

+1

+1 para traduzir para vietnamita

Acho que a arquitetura para isso poderia ser feita como uma parte adicional das mudanças do e2e que estamos fazendo. Podemos fornecer oficialmente apenas arquivos do idioma inglês por projeto (núcleo e plug-ins), enquanto outros idiomas podem ser plug-ins mantidos pela comunidade. @torkelo

+1

+1

+1 para tradução em espanhol

+1 para tradução letão

+1

Eu posso ajudar com a tradução para coreano

+1
Se precisar de ajuda com a tradução francesa, posso ajudar.

+1 para tradução em espanhol (América do Sul) e, acredite ou não, inglês do Reino Unido (usando formatos de data diferentes e, potencialmente, alguns termos são diferentes)

Alguém já olhou como adicionar suporte para https://localizejs.com ao Grafana? Dessa forma, todos poderiam gerenciar suas próprias traduções e a equipe principal do Grafana não precisaria gastar ciclos extras continuamente tendo que manter diferentes locais.

+1

+1

\ + 1

1 para russo.

Você pode usar https://momentjs.com para formatação de data / hora. Para outras coisas, existe gettext. Peça-me ajuda se quiser.

Acho que a arquitetura para isso poderia ser feita como uma parte adicional das mudanças do e2e que estamos fazendo. Podemos fornecer oficialmente apenas arquivos do idioma inglês por projeto (núcleo e plug-ins), enquanto outros idiomas podem ser plug-ins mantidos pela comunidade. @torkelo

Sim, por favor, altere a arquitetura. As traduções reais podem ser feitas por simples solicitações pull feitas pelos colaboradores. Gettext não dá erros em partes não traduzidas, então você não deve consertar todas as traduções em qualquer mudança de código. Além disso, gettext é perfeito em formas plurais.

+1 do brasil

+1

+1
Posso ajudar no fornecimento de tradução persa. :-)

+1
Posso ajudar no fornecimento de tradução persa. :-)

Depois disso, gostaria de ajudá-lo a adicionar o calendário Jalali! 💯

@torkelo tem alguma atualização depois de todo esse tempo? Eu realmente aprecio isso! :)

1 para ucraniano.

+1 italiano e alemão

1 para ucraniano e russo

+1

https://github.com/date-fns/date-fns

é melhor do que momentjs

Como centenas de usuários do Grafana estão dispostos a fazer a tradução deste maravilhoso software de código aberto, nós da Weblate estamos dizendo que ficaríamos felizes em ajudar. A localização não precisa retardar o desenvolvimento ou aumentar a carga de trabalho dos desenvolvedores. Isso pode ser feito de forma fácil, automática, pela comunidade e de forma gratuita. Como openSUSE, Fedora, LibreOffice, Godot Engine e muitos outros projetos fazem.

Vejo que já existem alguns arquivos de idioma Qt Linguist translation files , idioma JSONs e HTML no repositório Grafana. 😃 Assim que o i18n do código estiver concluído 🤞, estamos preparados para fornecer a plataforma l10n livre.

O que você acha da equipe Grafana?

+1 japonês

1 Eu posso ajudar com o francês. Se você quiser delegar o projeto de tradução a um subgrupo de colaboradores, posso liderá-lo por 2 anos.

1 para portugues

+1

+1

+1

1 para o idioma chinês!

+1 espanhol

Eu estava recuando depois de fazer projetos reais com Grafana e criar painéis.
Apenas a função de acesso de visualizador precisaria ser traduzida: esse tipo de usuário trabalha no contexto de seu idioma e mudar para Grafana em EN pode ser difícil.
Para usuários que fazem alterações na configuração, a tradução não faz sentido e seria muito difícil de manter. Este usuário pode entender que é um usuário avançado e trabalhar em inglês.

Eu estava recuando depois de fazer projetos reais com Grafana e criar painéis.
Apenas a função de acesso de visualizador precisaria ser traduzida: esse tipo de usuário trabalha no contexto de seu idioma e mudar para Grafana em EN pode ser difícil.
Para usuários que fazem alterações na configuração, a tradução não faz sentido e seria muito difícil de manter. Este usuário pode entender que é um usuário avançado e trabalhar em inglês.

Concordo com você. A tradução é importante apenas para o visualizador

@fdepierre

Eu estava recuando depois de fazer projetos reais com Grafana e criar painéis.
Apenas a função de acesso de visualizador precisaria ser traduzida: esse tipo de usuário trabalha no contexto de seu idioma e mudar para Grafana em EN pode ser difícil.
Para usuários que fazem alterações na configuração, a tradução não faz sentido e seria muito difícil de manter. Este usuário pode entender que é um usuário avançado e trabalhar em inglês.

A localização de SW é meu pão de cada dia e a opinião que você compartilhou geralmente desaparece depois de iniciar a localização. Poucos proprietários de projetos mantêm isso por muito tempo.

Sim, a interface do usuário final é a mais importante e definitivamente o melhor lugar para começar com l10n. Mas ninguém nunca se machucou com o console de administração localizado ou mesmo com a documentação. As comunidades adoram ajudar com isso! Pergunte ao projeto Godot Engine ou verifique https://docs.weblate.org/ em vários idiomas. Sim, as pessoas geralmente falam inglês atualmente, mas sua proficiência é diferente. E alguns deles, mesmo tecnicamente habilidosos, não falam inglês. Maior conforto significa usuários mais felizes do SW. E usar a língua nativa traz conforto.

Eu concordo que a IU do usuário final / visualizador é um bom lugar para start com a localização do Grafana. 😉

Só para adicionar mais um voto para a importância do suporte multilíngue aqui é meu +1 para tornar isso uma prioridade mais alta.

Também ficaria feliz em contribuir com a tradução alemã assim que disponível.

Quanto ao i18n, apenas para visualizadores, não acho que seja uma opção a longo prazo. Como uma prioridade inicial, talvez. Mas provavelmente não a longo prazo.

1 Eu poderia ajudar com a tradução para o espanhol.

+1 Eu poderia ajudar com a tradução italiana!

+1 pode ajudar com a tradução para o espanhol

+1 pode ajudar com espanhol

+1

+1

+1

+1

+1

1 Eu posso ajudar em japonês.

1 Eu poderia ajudar com a tradução para o espanhol.

1 Eu poderia ajudar com a tradução para o espanhol.

1 Eu poderia ajudar com a tradução para o chinês.

+1 Eu poderia ajudar com a tradução para o turco.

+1

+1

1 para o russo. pode ajudar com a tradução

+1 tradução para o japonês

Espanhol +

El El mar, 24 de nov. de 2020 a la (s) 04:07, ajoneba <
notificaçõ[email protected]> escribió:

+1 tradução para o japonês

-
Você está recebendo isto porque comentou.
Responda a este e-mail diretamente, visualize-o no GitHub
https://github.com/grafana/grafana/issues/448#issuecomment-732699235 ,
ou cancelar
https://github.com/notifications/unsubscribe-auth/AAT7GTAIG4VCLWV5262S2WLSRNLS5ANCNFSM4AP2O6QA
.

+1 para tradução em português.

+1

+1

Seria pelo menos legal ter datas formatadas em outros idiomas. Nenhum usuário entende 11-12 corretamente aqui (na Alemanha é 11 de dezembro - em nós é 12 de novembro).

+1 ...
então este problema é como 6 anos de idade. adicione, pelo menos, a possibilidade de alterar os valores e a formatação da hora e da data ...

+1
Multi linguagem é essencial para um software baseado em GUI, tornar mais linguagem disponível pode tornar o grafana mais popular em todo o mundo.

Podemos traduzir grafana facilmente com scripts simples. Acabei de traduzir o timepicker para o russo

Screenshot_1

Podemos traduzir grafana facilmente com scripts simples. Acabei de traduzir o timepicker para o russo

Screenshot_1

legal! você pode compartilhar sua experiência?

Esta página foi útil?
0 / 5 - 0 avaliações