Provided by: po4a_0.73-2ubuntu1_all 

NOME
Locale::Po4a::Po - módulo de manipulação dum ficheiro PO
SINOPSE
use Locale::Po4a::Po;
my $pofile=Locale::Po4a::Po->new();
# Ler ficheiro PO
$pofile->read('file.po');
# Adicionar uma entrada
$pofile->push('msgid' => 'Hello', 'msgstr' => 'olá',
'flags' => "wrap", 'reference'=>'file.c:46');
# Extrair uma tradução
$pofile->gettext("bom dia"); # returns 'bonjour'
# Escrever de volta para um ficheiro
$pofile->write('otherfile.po');
DESCRIÇÃO
Locale::po4a:: Po é um módulo que permite que manipule catálogos de mensagens. Pode carregar e escrever
de/para um ficheiro (cuja extensão é muitas vezes po), pode construir novas entradas na execução ou pedir
uma tradução de uma cadeia.
Para uma descrição mais completa do catálogo de mensagens no formato PO e o uso dele, por favor veja a
documentação info do programa gettext. (nó "`Ficheiros PO"').
Este módulo é parte do projeto po4a, cujo objetivo é usar ficheiros PO (projetado na origem para
facilitar a tradução de mensagens do programa) para traduzir tudo, inclusive a documentação (página do
manual, manual de informação), descrição do pacote, modelos debconf e tudo o que pode beneficiar a partir
deste.
OPÇÕES ACEITES POR ESTE MÓDULO
--porefs type
Especifica o formato de referência. O argumento tipo pode ser um de: never para não produzir qualquer
referência, file para especificar o ficheiro sem o número da linha, counter para substituir os
números de linha a aumentar o contador e full para incluir referências completas. (predefinição:
full).
--wrap-po no|newlines|number (predefinição: 76)
Especifica como o ficheiro po deve ter a quebra de linha. Isso permite escolher entre ficheiros que
tem boa quebra de linha, mas que podem levar a conflitos de git ou ficheiros que são mais fáceis de
manipular automaticamente, mas mais difíceis de ler para humanos.
Historicamente, o pacote gettext reformatou os ficheiros po na 77ª coluna para questões cosméticas.
Esta opção especifica o comportamento de po4a. Se for definido como um valor numérico, o po4a
quebrará linha do ficheiro po após esta coluna e após novas linhas no conteúdo. Se for definido como
newlines, o po4a dividirá apenas o msgid e o msgstr após as novas linhas no conteúdo. Se for definido
como no, o po4a não quebrará linha do ficheiro po. Os comentários de referência têm sempre as linhas
quebradas pelas ferramentas do gettext que usamos internamente.
Observe que esta opção não afeta a maneira como o msgid e o msgstr sofrem quebra de linhas ou seja,
como os caracteres de nova linha são adicionados ao conteúdo dessas cadeias.
--msgid-bugs-address e-mail@endereço
Definir o endereço do relatório para msgid bugs. Por predefinição, os ficheiros POT criados não têm
campos Report-Msgid-bugs-To.
--copyright-holder string
Definir o titular dos direitos de autor no cabeçalho POT. O valor predefinido é " Free Software
Foundation, Inc."
--package-name string
Definir o nome do pacote para o cabeçalho POT. A predefinição é "PACKAGE".
--package-version string
Definir o nome do pacote para o cabeçalho POT. A predefinição é "VERSION".
Funções relativas a catálogos de mensagens inteiros
novo()
Cria um catálogo de mensagem novo. Se um argumento é fornecido, é o nome dum ficheiro PO que deve
carregar.
ler($)
Lê um ficheiro PO (que o nome é dado como argumento). Entradas previamente existentes em si não são
removidas, os novos são adicionados ao fim do catálogo.
escrever($)
Escreve o catálogo atual ao ficheiro dado.
write_if_needed($$)
Como escrever, mas se o ficheiro PO ou POT já existe, o objeto será escrito num ficheiro temporário,
que será comparado com o ficheiro existente para verificar se a atualização é necessária (isso evita
mudar um POT apenas para atualizar uma linha de referência ou o campo POT-Creation-Date).
filtro($)
Esta função extrai um catálogo a partir de um já existente. Somente as entradas têm uma referência no
ficheiro dado será posto no catálogo resultante.
Esta função analisa o argumento dele, converte-o para uma definição função Perl, avalia esta
definição e filtra os campos para os quais esta função retornará verdadeiro.
Algumas vezes gosto de Perl ;)
Funções para utilizar um catálogo de mensagens para traduções
gettext($%)
Pede a tradução duma dada sequência como argumento no catálogo atual. Esta função retorna a sequência
(não traduzida) original, se a cadeia não foi encontrada.
Após a cadeia para traduzir, pode passar um 'hash' de argumentos adicionais. Aqui são as entradas
válidas:
wrap
um booleano indica se podemos considerar que os espaços em branco na cadeia não são importantes.
Se sim, a função canoniza a cadeia antes de procurar uma tradução e envolve o resultado.
wrapcol
a coluna em que devemos envolver (predefinição: 76).
stats_get()
Retorna estatísticas sobre a taxa de acerto de gettext desde a última vez que stats_clear() foi
chamado. Por favor, note que não são as mesmas estatísticas que são impressas por msgfmt --statistic.
Aqui, são as estatísticas sobre o recente uso do ficheiro PO, enquanto msgfmt informa sobre o estado
do ficheiro. Exemplo de uso:
[algum uso do ficheiro PO para traduzir coisas]
($percent,$hit,$queries) = $pofile->stats_get();
print "Até agora, encontramos traduções para $percent\% ($hit de $queries) de cadeias.\n";
stats_clear()
Limpa as estatísticas sobre os êxitos do gettext.
Funções para a construção de um catálogo de mensagens
push(%)
Empurrar uma nova entrada no final do catálogo atual. Os argumentos devem formar uma tabela hash. As
chaves válidas são:
msgid
a cadeia no idioma original.
msgstr
a tradução.
reference
uma indicação de onde essa cadeia foi encontrada. Exemplo: file.c:46 (ou seja, em 'file.c' na
linha 46). Pode ser uma lista separada por espaços em caso de múltiplas ocorrências.
comment
um comentário adicionado aqui manualmente (pelo tradutor). O formato é livre.
automatic
um comentário que foi adicionado automaticamente pelo programa de extração da cadeia. Veja a
opção --add-comments do programa xgettext para obter mais informações.
flags
lista separada por espaços de todas as 'flags' definidas para esta entrada.
As 'flags' válidas são: c-text, python-text, lisp-text, elisp-text, librep-text, smalltalk-text,
java-text, awk-text, object-pascal-text, ycp-text, tcl-text, wrap, no-wrap and fuzzy.
Consulte a documentação do gettext para o significado deles.
type
este é mais um argumento interno: é usado enquanto os documentos são 'gettextizados'. A ideia
aqui é analisar tanto o original como a tradução num objeto PO e fundi-los, a usar um 'msgid'
como 'msgid' e os outros 'msgid' como 'msgstr'. Para ter certeza de que as coisas ficam bem, cada
'msgid em objetos PO recebem um tipo, com base na estrutura deles (como "chapt", "sect1", "p" e
assim por diante em DocBook). Se os tipos de cadeias não são as mesmas, significa que ambos os
ficheiros não partilham a mesma estrutura e, o processo e informa um erro.
Esta informação é escrita como comentário automático no ficheiro PO uma vez que dá aos tradutores
algum contexto sobre as cadeias para traduzir.
wrap
booleano que indica se os espaços em branco podem ser mutilados em cosméticas reformatações. Se
for verdade, a cadeia está canonizada antes do uso.
Esta informação é gravada no ficheiro PO a usar a 'flag' wrap ou B <no-wrap>.
wrapcol
ignored; the key is kept for backward computability.
Funções auxiliares
count_entries()
Retorna a quantidade de entradas no catálogo (sem o cabeçalho).
count_entries_doc()
Retorna a quantidade de entradas no documento. Se uma cadeia aparece múltiplas vezes no documento,
será contado múltiplas vezes.
msgid($)
Retorna o identificador de mensagem do número dado.
msgid_doc($)
Retorna o identificador de mensagem na posição do documento dada.
type_doc($)
Returns the type of the msgid with the given position in the document. This is probably only useful
to gettextization, and it's stored separately from {$msgid}{'type'} because the later location may be
overwritten by another type when the $msgid is duplicated in the master document.
get_charset()
Retorna o conjunto de caracteres especificado no cabeçalho PO. Se não foi definido, irá retornar
"UTF-8".
AUTORES
Denis Barbier <barbier@linuxfr.org>
Martin Quinson (mquinson#debian.org)
perl v5.38.2 2024-08-28 LOCALE::PO4A::PO.3PM(1)