You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Melhorar mensagem enviada para Telegram com erro encontrado em arquivo .po pelo linter #294
Atualmente, quando o linter encontra um erro no .po, é enviada uma mensagem para o Telegram semelhante a essa
O problema disso é que a linha 1280, deste exemplo, do arquivo não é encontrável pelo Transifex.
De fato, ao executar sphinx-lint com um PO, ele retorna a primeira linha do conjunto específico de localização fonte (#:), mensagem fonte (msgid) e mensagem traduzida (msgstr). Isso é diferente da execução com um arquivo reST, que retorna a linha do arquivo reST.
Então, seria útil que nessa mensagem viesse a URL para a linha no repositório. No caso, seria
Possível. O ideal seria que o sphinx-lint retornasse essa referência de local e linha fonte do reST quando executado contra um arquivo PO.
Mas podemos implementar algo localmente: tratar as informações de nome de arquivo e linha informado exatamente na saída do sphinx-lint, e dá construir outra saída informando a referência à linha específica para uso no occurrence: do Transifex.
Adicionalmente, talvez ficasse mais claro se a mensagem/link fosse para a linha com a msgstr e não a msgid. E talvez com mais algum texto explicativo.
Tecnicamente possível, um pouco mais trabalhoso, mas acho que não tão eficiente do que ter a referência ao arquivo-fonte e linha para usar no occurrence: do Transifex.
Adicionalmente 2, enviar um URL para pesquisar no TX por uma strings com o texto da string alvo. Para o exemplo seria:
No entanto, mensagens do Telegram têm um limite de 4096 caracteres. Dependendo da quantidade de ocorrências, a GitHub Action que usamos para envio da notificação simplesmente falha por a mensagem ser grande demais. Isso teria que ser contornado implementando um envio de mensagem francionando-a no limite antes de enviar.
Activity
rffontenelle commentedon Apr 5, 2026
De fato, ao executar sphinx-lint com um PO, ele retorna a primeira linha do conjunto específico de localização fonte (#:), mensagem fonte (msgid) e mensagem traduzida (msgstr). Isso é diferente da execução com um arquivo reST, que retorna a linha do arquivo reST.
Possível. O ideal seria que o sphinx-lint retornasse essa referência de local e linha fonte do reST quando executado contra um arquivo PO.
Mas podemos implementar algo localmente: tratar as informações de nome de arquivo e linha informado exatamente na saída do sphinx-lint, e dá construir outra saída informando a referência à linha específica para uso no
occurrence:do Transifex.Tecnicamente possível, um pouco mais trabalhoso, mas acho que não tão eficiente do que ter a referência ao arquivo-fonte e linha para usar no
occurrence:do Transifex.Usar um link com occurrence para a linha seria mais limpo. Por exemplo, para
occurrence:662ficaria:https://app.transifex.com/python-doc/python-newest/translate/#pt_BR/library--string?q=occurrence%3A662
No entanto, mensagens do Telegram têm um limite de 4096 caracteres. Dependendo da quantidade de ocorrências, a GitHub Action que usamos para envio da notificação simplesmente falha por a mensagem ser grande demais. Isso teria que ser contornado implementando um envio de mensagem francionando-a no limite antes de enviar.