.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Required to disable full justification in groff 1.23.0. .if n .ds AD l .\" ======================================================================== .\" .IX Title "LOCALE::PO4A::VIMHELP.3PM 1" .TH LOCALE::PO4A::VIMHELP.3PM 1 2025-11-22 "perl v5.42.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NOME .IX Header "NOME" Locale::Po4a::VimHelp \- converte ficheiros de ajuda Vim de/para ficheiros PO. .SH DESCRIÇÃO .IX Header "DESCRIÇÃO" 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. .PP \&\f(CW\*(C`Locale::Po4a::VimHelp\*(C'\fR é um módulo para ajudar a tradução do ficheiro de ajuda do Vim. Veja também Writing help files para a sua sintaxe. .SH "ESTADO DESTE MÓDULO" .IX Header "ESTADO DESTE MÓDULO" Este módulo está numa fase inicial de desenvolvimento. Foi testado com sucesso em ficheiros simples como \f(CW\*(C`helphelp.txt\*(C'\fR. 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. .SH DESENVOLVIMENTO .IX Header "DESENVOLVIMENTO" 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). .ie n .IP """1. foo"" parece uma lista ordenada" 4 .el .IP "\f(CW1. foo\fR parece uma lista ordenada" 4 .IX Item "1. foo parece uma lista ordenada" Não necessariamente. Considere o parágrafo seguinte. .Sp .Vb 2 \& There are 2 wandering tanukis, not \& 1. He\*(Aqs using his cloning technique. .Ve .Sp Pela mesma razão, o que parece ser um cabeçalho (ex. \f(CW\*(C`1.1 bar\*(C'\fR) ou uma lista não ordenada (ex. \f(CW\*(C`o baz\*(C'\fR) não pode ser detetado. .IP "Etiquetas fluidas à direita devem ser excluídas do alvo de tradução" 4 .IX Item "Etiquetas fluidas à direita devem ser excluídas do alvo de tradução" Este tópico também é difícil, uma vez que se relaciona com as diferenças linguísticas na localização. .Sp Considere o seguinte exemplo. .Sp .Vb 1 \& Tal conceito comum e curto em alguns idiomas *tags* .Ve .Sp que pode ser traduzido para .Sp .Vb 2 \& Eles são desconhecidos, não há conceitos correspondentes e *tags* \& precisa duma sentença mais longa para expressar neste idioma .Ve .Sp Quando isto acontece, tem que decidir em que ponto quer adicionar uma tag \&\fIde forma agradável\fR. 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. .Sp O mesmo se aplica a referências de tags como \f(CW\*(C`|ref|\*(C'\fR. .ie n .IP "Nivelando ""\-\-wrapcol"" para larguras de monitor de texto" 4 .el .IP "Nivelando \f(CW\-\-wrapcol\fR para larguras de monitor de texto" 4 .IX Item "Nivelando --wrapcol para larguras de monitor de texto" Usar a opção \f(CW\*(C`\-\-wrapcol\*(C'\fR 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 \&\f(CW\*(C`vim:tw=78:ts=8:noet:ft=help:norl:\*(C'\fR, como visto em \&\f(CW\*(C`runtime/doc/if_perl.txt\*(C'\fR . No entanto, existem alguns desafios a considerar: .RS 4 .IP "Comportamento de Análise do Ficheiro" 4 .IX Item "Comportamento de Análise do Ficheiro" 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. .IP "Valores Predefinidos contra Personalizados" 4 .IX Item "Valores Predefinidos contra Personalizados" O valor predefinido genérico do \f(CW\*(C`\-\-wrapcol\*(C'\fR é 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. .RE .RS 4 .RE .SH "VEJA TAMBÉM" .IX Header "VEJA TAMBÉM" \&\fBLocale::Po4a::TransTractor\fR\|(3pm), \fBpo4a\fR\|(7) .SH AUTORES .IX Header "AUTORES" .Vb 1 \& gemmaro .Ve .SH "DIREITOS DE AUTOR E LICENÇA" .IX Header "DIREITOS DE AUTOR E LICENÇA" .Vb 1 \& Copyright © 2024, 2025 gemmaro. .Ve .PP Este programa é software livre; pode redistribuí\-lo e/ou modificá\-lo sob os termos da GPL v2.0 ou posterior (veja o ficheiro \fICOPYING\fR).