Reestruturação de tradução no crowdin para nova-estratégia-de-versionamento

Notei que a estrutura de arquivos foi alterada recentemente no Crowdin. Estou um pouco confuso agora; parece que, especialmente depois de não traduzir por algumas semanas, há muito mais trabalho a ser feito do que o necessário.

Antes, se um texto era adicionado e eu introduzia a pluralização para ele em um PR, eu só precisava traduzir a nova versão. Agora, acabo traduzindo textos da versão anterior também. Isso significa que, como o plural estava faltando em dezembro, agora vejo aquele texto junto com o novo com a pluralização. Também não vejo nenhum indicador visual mostrando que faz mais sentido traduzir

do que

ou que eu deveria me concentrar em traduzir

em vez de

Pode ser óbvio quando você os vê lado a lado, mas atualmente há mais de 300 textos não traduzidos, então verificar cada vez se há um mais novo semelhante provavelmente leva mais tempo do que traduzir aqueles que não são mais necessários.

Mas, na verdade, como há muito o que traduzir, eu gostaria de me concentrar primeiro nos textos que são usados na versão mais recente do Discourse. Para mim, esses são os que mais importam. É menos provável que administradores que usam a última versão atualizem antes que uma nova versão esteja disponível, então eu gostaria que o próximo lançamento estivesse o mais completo possível.

Mas parece que isso se tornou mais difícil. Se eu me lembro corretamente, anteriormente quase todos os textos estavam na pasta “main” no Crowdin, e apenas aqueles cujo texto em inglês havia mudado eram duplicados na pasta “stable”. Mas não tenho certeza. Geralmente, a tradução para “stable” estava completa quando havia um lançamento, pois os revisores pagos também trabalhavam neles na época. Mas mesmo que não estivessem, eu tentava deixar a tradução o mais completa possível quando um lançamento estava chegando. É mais difícil fazer isso para cada lançamento.

Agora, no entanto, nem tudo o que é novo está na pasta “latest”, e apenas o que requer uma versão anterior está em “release”. Parece ser exatamente o oposto: tudo, exceto o que foi adicionado após o último lançamento, está em “release”.

Por causa disso, para me concentrar nos textos que farão parte do próximo lançamento e evitar traduções duplicadas, não posso simplesmente traduzir tudo na pasta “latest”, como era possível anteriormente com “main”.

6 curtidas

Vou verificar se conseguimos inverter isso durante o lançamento novamente.

4 curtidas

@moin Agora que você teve algum tempo para trabalhar com isso, você ainda sente que a estrutura atual do Crowdin é pior que a antiga?

Existem 15.162 strings no branch release e 86 strings no branch latest. O branch latest é construído sobre o release, então essas 86 strings são aquelas que foram adicionadas ou alteradas desde o último lançamento.

De uma perspectiva técnica, essa estrutura faz mais sentido do que a anterior. Dito isso, se isso cria trabalho extra ou torna a tradução mais incômoda para você, por favor, me avise. Fico feliz em procurar uma maneira de apoiar a nova estratégia de lançamento, mantendo as coisas o mais tranquilas possível no Crowdin.

2 curtidas

Sim. Ainda parece que estou traduzindo coisas que dificilmente alguém verá, e é muito difícil focar em traduzir um plugin como ‘chat’ porque não consigo mais trabalhar apenas nessa pasta, pois alguns textos estão em latest/chat e outros em release/chat. Ajustar o filtro limitando-o primeiro apenas para filtrar por identificador e pesquisar por chat ainda retorna tudo para o plugin de integração de chat, além de tudo para o plugin de chat.

Existem outros pontos neste fluxo de trabalho que me preocupam, mas não consigo anotá-los de forma organizada no momento.

2 curtidas

Obrigado pelo feedback, vou resolver isso.

1 curtida

Como isso deve funcionar?
Você mescla correções de segurança que contêm alterações de texto pouco antes de uma nova versão ser lançada.

Isso funcionou quando havia main e stable que eram suportados e ambos estavam disponíveis no Crowdin. Mas não foi possível traduzir as últimas correções de segurança para 2025.12 porque o lançamento de 2026.1 ocorreu ao mesmo tempo. Neste caso, não é um grande problema porque parece que nenhum texto foi editado, apenas novos foram adicionados que permanecem sem tradução, já que 2025.12 não é suportado por tanto tempo, acho que isso não é um problema. Mas e se um texto tivesse sido editado? Então as traduções existentes não serão removidas porque as traduções não são mais atualizadas. E embora isso provavelmente ainda não seja um grande problema porque não há muitos fóruns com previsão de permanecerem tanto tempo no 2025.12 depois que 2026.1 for lançado, estou preocupado com como funcionará com o ESR.
No verão, tivemos um texto quebrado para a solução em fóruns hospedados por semanas porque o placeholder foi alterado no código, mas as traduções ainda usavam o antigo porque isso não havia sido mesclado oficialmente, então o texto não foi alterado pelo Crowdin. Estou preocupado que o mesmo aconteça com o ESR. Ele receberá todas essas correções de segurança, mas depois que 2026.2 for lançado, as traduções não serão atualizadas. Se você alterar um texto em uma dessas correções, as traduções não serão atualizadas através do Crowdin. Assim, o texto contendo um placeholder que não é mais fornecido pelo core permanecerá inalterado.

Além disso, em geral, a sensação de que as traduções precisam estar perfeitas nas próximas semanas porque depois disso perderei a chance de melhorá-las, não é boa. Antes, parecia que “bem, o que eu adicionar ajudará todos que atualizarem seu Discourse depois que isso for mesclado, e se eu notar algo que eu gostaria de melhorar, todos receberão essas melhorias”; agora isso exclui rapidamente todos que usam o ESR. Eles não receberão atualizações assim que 2026.2 se tornar o lançamento.

Portanto, existem traduções para cada lançamento, o que resulta em textos que foram reescritos após algumas semanas porque a interface foi refinada, necessitando de traduções para ambas as versões. Eu traduzo
js.category.visibility.more_options_hint: Mais permissões disponíveis em \u003ca href\u003eadvanced settings\u003c/a\u003e.
e
js.category.visibility.more_options_hint: Mais permissões disponíveis em js.category.visibility.more_options_hint_link: configurações avançadas.

Neste caso, eu presumiria que o último é o necessário para o ESR, então acho que haverá fóruns que atualizarão depois que uma correção de segurança for mesclada e realmente verão essas traduções. Mas e se isso acontecesse no próximo mês? Quantos fóruns você espera que permaneçam no 2026.2 e não apenas atualizem logo após o lançamento e haja novas correções de segurança que notifiquem o administrador, mas uma semana depois, quando eu tiver tempo para traduzir os textos? E por quanto tempo eles os usarão até atualizarem para 2026.3? É isso que me faz sentir que estou traduzindo textos que mal alguém verá.

Também parece que as traduções que foram removidas do latest na semana passada após a primeira atualização das traduções ter ocorrido desde o lançamento de 2026.1 estão relacionadas ao novo processo, e eu me pergunto se o mesmo acontecerá com as traduções após o próximo lançamento. E parece errado que as traduções estejam disponíveis para aqueles no 2026.1, mas aqueles que usam o latest não as tenham mais.
Estas são as traduções para Horizon no 2026.1

E esta está disponível no latest

Atualização: Eu encontrei o indicador

Eu estava correto de que não há um indicador visível; é a ausência de “Master” no canto superior direito que sugere o fato de que este texto não é usado pela versão mais recente.

Então, assim que percebo que não há “Master” no canto superior direito, sei que o texto da pasta de lançamento não é mais usado na versão mais recente e posso ignorá-lo para me concentrar primeiro nos textos usados por todas as versões.

1 curtida

Ah, sim, isso deve funcionar. Seria bom ter uma opção de filtro para isso no editor do Crowdin, mas duvido que seja possível no momento. Publiquei uma solicitação de recurso na comunidade do Crowdin.

1 curtida