Mudlet: Adicionar strings ausentes para tradução

Criado em 9 set. 2018  ·  27Comentários  ·  Fonte: Mudlet/Mudlet

Breve resumo do problema / Descrição do recurso solicitado:

Algumas mensagens no cliente ainda não estão marcadas para tradução, não seriam localizadas a partir de hoje:

Continua..

i18n & l10n

Todos 27 comentários

As strings mencionadas acima em ctelnet.cpp às vezes têm caracteres de espaço excessivos como em
[ INFO ] - text
em oposição a
[ INFO ] - text
como se fosse usado em outro lugar. Talvez use esta oportunidade para unificar, já que a rolagem de conexão atualmente é alternada.
editar: Droga, o github eliminará o caractere de espaço duplo após o primeiro [INFO] e antes do menos ali.

Atualmente não consigo encontrar onde essas mensagens são criadas:
image
Procurei neste repositório o texto do "módulo Lua", mas não o produziu.

Obrigado Vadi. Talvez haja algo errado com a função de pesquisa aqui em github.com e eu realmente deva pesquisar os arquivos baixados. Que pena!

SlySven relatou:

Um lugar que descobri que não foi alimentado com textos embrulhados tr (....) foi o tipo de item comboBox no final de cada item do acionador - então, eles nunca serão traduzidos para outros idiomas ...

Não tem certeza de onde está localizado, módulo de terceiros?
image

@Kebap escreveu:

As strings mencionadas acima em ctelnet.cpp às vezes têm caracteres de espaço excessivos como em
[INFO] - texto
em oposição a
[INFO] - texto
como se fosse usado em outro lugar. Talvez use esta oportunidade para unificar, já que a rolagem de conexão atualmente é alternada.
editar: Droga, o github eliminará o caractere de espaço duplo após o primeiro [INFO] e antes do menos ali.

O espaçamento no [ WORD ] - era ~ beliscada twiddled ~ frobnicated de tal modo que há um ou dois espaços (dependendo do comprimento da palavra) entre o WORD e o [ ou ] (o mesmo em AMBOS os lados) e, em seguida, espaços suficientes após ] e - para que todas as mensagens diferentes tenham o mesmo número de caracteres - se eu substituir os espaços por # talvez seja mais fácil ver à medida que se tornam:
[##OK##]##-#
[##LUA##]#-#
[#INFO#]##-#
[#WARN#]#-#
[#ALERT#]#-#
[#ERROR#]#-#

Isso foi feito com o objetivo de garantir que todas as mensagens tenham o mesmo tamanho de prefixo. No entanto, o código existente ainda não é bom para traduções (acho que tenho um código escondido em algum lugar que {na mudança de idioma} fez uma varredura em todos os cabeçalhos traduzidos e calculou o espaçamento a ser usado para eles e quaisquer textos não traduzidos - mesmo aqueles com um único prefixo de marcador de mensagem não traduzido adicional (o padrão do Qt é # no momento) para que isso ainda funcione para casos de tradução incompleta ...

... no entanto, isso não foi algo que Vadim descobriu se ele estava remexendo em minhas tentativas anteriores de código I18n, supondo que eu o publicasse ...: decepcionado:

Vamos mover essa discussão para # 2005, certo?

image

main.cpp nesta área , pesquise "show_splash"

O pop-up de conexão mostrará o botão "Cancelar" que permanece em inglês e ainda não está disponível para tradução.

image

Provavelmente as strings de conexão acima

Re: Texto da tela inicial - a tradução não é direta porque a tela inicial é exibida antes que a IU principal seja construída e o sistema de tradução seja carregado.

Resolvi isso em pelo menos uma das minhas versões que permitia mudanças de tempo de execução na linguagem da IU sem reiniciar o Mudlet: gravando as strings traduzidas como QStringList em um arquivo no diretório de configuração do Mudlet ( splashScreenTexts.dat IIRC) sempre que o idioma for alterado.

O IIRC I também incluiu uma primeira entrada sendo uma contagem do número de linhas para evitar problemas desagradáveis ​​se o número de textos diferentes mudasse em versões posteriores do Mudlet, de modo que houvesse menos linhas na variável do que o código esperado!)

Ao inicializar, o Mudlet carregaria o texto padrão ( en_US ) em um QStringList e, em seguida, tentaria carregar esse arquivo e, se estivesse presente, ele o usaria para sobrescrever o conteúdo dessa variável antes disso usando tudo o que foi armazenado para gerar as mensagens ...

O pop-up de conexão mostrará o botão "Cancelar" que permanece em inglês e ainda não está disponível para tradução.

Isso ocorre porque os botões de diálogo padrão são fornecidos pela biblioteca Qt e o hackary feito por Vadim para simplificar meu código de alteração da IU em tempo de execução não acertou muito.

Meu código antigo permitiria, IIRC, que a fonte dos arquivos de tradução fosse alterada - de modo que alguém pudesse mudar de um conjunto compilado em um recurso para um conjunto externo no sistema de arquivos - que poderia ser editado em tempo real e então recarregado ; isso significava que ele tinha que verificar quais arquivos de tradução estavam disponíveis - tentando carregar cada um, mas sem colocá-los em uso - toda vez que a classe dlgProfilePreferences fosse usada e a fonte dos arquivos de tradução fosse alterada. Este código foi refatorado para usar uma função lambda definida em (void) mudlet::loadTranslators() mas era apenas para fazer os arquivos Mudlet - não carregou os do Qt e o código atual que tenta chamar a função agora anônima para fazer isso é simplesmente borked ...: stick_out_tongue_closed_eyes :)

: bulb: Eu tenho alguns códigos escondidos de um lado que irão resolver esse aspecto do Editor ...: sorrindo:

Fechar um perfil sem salvamento automático - "Deseja salvar este perfil" será traduzido, mas não as opções para responder: "Sim", "Não", "Talvez" ah, quero dizer "Cancelar"

image
Títulos para colunas no painel de pesquisa na janela do editor.

editar: dlgTriggerEditor.cpp lista esses textos aqui: https://github.com/Mudlet/Mudlet/blob/4dfafa21ca97875946d5335d8ee1e9f6141b4c39/src/dlgTriggerEditor.cpp#L602

image
Janela de diálogo do exportador de pacotes (experimental)

image
Janela de criação de perfil

Só precisa atualizar as strings Crowdin para torná-las disponíveis!

Em retrospecto, deveríamos tê-los atualizado assim que o desenvolvimento foi mesclado.

Acredito que tudo isso esteja atualizado agora, certo?

Acredito que tudo isso esteja atualizado agora, certo?

Não tenho certeza sobre _todos_, não os vejo há algum tempo. Para alguns, eu nem tenho certeza de onde eles se originam. SlySven até mencionou alguns botões de diálogo padrão que não foram traduzidos de forma alguma.

Então, examinei e verifiquei todos eles, e a única coisa que falta resolver aqui é a tela inicial de inicialização.
SlySven mencionou acima como isso é um pouco mais difícil de resolver, já que a função tr() ainda não está disponível durante esse período.
https://github.com/Mudlet/Mudlet/issues/1964#issuecomment -443542921
No entanto, deve ser factível. Acho que já vi isso ser feito em algum lugar. Só não tenho certeza de como a função é chamada espontaneamente naquele momento.

Que tal simplesmente remover o texto da tela inicial?

Para a maioria das máquinas, ele começa muito rápido para ler e as informações dificilmente são úteis ou essenciais.

Muito bem, fechando isso então.

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