LOCALE::PO4A::VIMHELP.3PM(1) User Contributed Perl Documentation LOCALE::PO4A::VIMHELP.3PM(1)

Locale::Po4a::VimHelp - converte ficheiros de ajuda Vim de/para ficheiros PO.

O objetivo do projeto po4a (PO for anything: PO para qualquer coisa) é facilitar traduções (e o mais interessante, a manutenção das traduções) a usar as ferramentas do gettext em áreas em que não se esperava, como na documentação.

"Locale::Po4a::VimHelp" é um módulo para ajudar a tradução do ficheiro de ajuda do Vim. Veja também Writing help files https://vimhelp.org/helphelp.txt.html#help-writing para a sua sintaxe.

Este módulo está numa fase inicial de desenvolvimento. Foi testado com sucesso em ficheiros simples como "helphelp.txt". No entanto, ainda não foi testado em ficheiros de ajuda completa e a forma como analisá-los pode mudar para correções e melhorias, especialmente quebra de linha de parágrafos.

A análise de ficheiros de ajuda do Vim para po4a é difícil. Aqui estão alguns obstáculos ao desenvolver este módulo. Se tem uma ideia melhor, sinta-se livre para sugerir um patch (com casos de teste adicionais).

"1. foo" parece uma lista ordenada
Não necessariamente. Considere o parágrafo seguinte.
There are 2 wandering tanukis, not
1. He's using his cloning technique.

Pela mesma razão, o que parece ser um cabeçalho (ex. "1.1 bar") ou uma lista não ordenada (ex. "o baz") não pode ser detetado.

Este tópico também é difícil, uma vez que se relaciona com as diferenças linguísticas na localização.

Considere o seguinte exemplo.

Tal conceito comum e curto em alguns idiomas *tags*

que pode ser traduzido para

Eles são desconhecidos, não há conceitos correspondentes e *tags*
precisa duma sentença mais longa para expressar neste idioma

Quando isto acontece, tem que decidir em que ponto quer adicionar uma tag de forma agradável. Isto não deve ser fácil. O ficheiro de ajuda do Vim está num formato de quebra rígida, mesmo para partes que não são blocos de código.

O mesmo se aplica a referências de tags como "|ref|".

Usar a opção "--wrapcol" para emitir avisos quando a largura do texto excede os limites especificados parece ser uma abordagem razoável. O Vim oficial apresenta um modo de linha, tal como "vim:tw=78:ts=8:noet:ft=help:norl:", como visto em "runtime/doc/if_perl.txt" https://github.com/vim/vim/blob/04cc8975930b7b2c5d6753d3eddf57dab2816518/runtime/doc/if_perl.txt#L307. No entanto, existem alguns desafios a considerar:
Se esta opção for implementada, seria ideal ler o ficheiro inteiro primeiro, detetar se o modo de linha existe, e determinar que secções são afetadas. Infelizmente, o mecanismo de análise progressivo não é empregado neste caso.
O valor predefinido genérico do "--wrapcol" é 76, onde os ficheiros de ajuda do Vim geralmente usam 78. Na maioria dos casos, o valor das opções passadas a este módulo predefinem para 76, mas não é claro se este valor foi explicitamente definido ou implicitamente aplicado.

Locale::Po4a::TransTractor(3pm), po4a(7)

gemmaro <gemmaro.dev@gmail.com>

Copyright © 2024, 2025 gemmaro.

Este programa é software livre; pode redistribuí-lo e/ou modificá-lo sob os termos da GPL v2.0 ou posterior (veja o ficheiro COPYING).

2025-11-22 perl v5.42.0