Provided by: po4a_0.45-1_all bug

NOME

       Locale::Po4a::Po - módulo de manipulação dum ficheiro PO

SINOPSE

           use Locale::Po4a::Po;
           my $pofile=Locale::Po4a::Po->new();

           # Read PO file
           $pofile->read('file.po');

           # Add an entry
           $pofile->push('msgid' => 'Hello', 'msgstr' => 'bonjour',
                         '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 você 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 sequência.

       Para uma descrição mais completa dos catálogos de mensagens no formato PO e o seu uso, por favor consulte
       a documentação do programa gettext.

       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[,wrap|nowrap]
           Especificar  o  formato  de  referência.  Argumento  type pode ser um none para não produzir qualquer
           referência, noline para não especificar o número da linha (mais exactamente todos os números de linha
           são substituídos por 1), counter para substituir o número de linha por um contador crescente, e  full
           para incluir referências completas.

           O  argumento  pode  ser seguido por uma vírgula ou pela palavra-chave wrap ou nowrap. Referências são
           escritas por padrão em uma única linha. A opção wrap envolve referências sobre  várias  linhas,  para
           imitar as ferramentas gettext (xgettext e msgmerge). Esta opção irá tornar-se o padrão num lançamento
           futuro,  porque  é mais sensível. A opção nowrap é acessível para os utilizadores que querem manter o
           comportamento antigo.

       --msgid-bugs-address email@address
           Definir o endereço do relatório para msgid bugs. Por padrã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 padrão é " Free Software
           Foundation, Inc. "

       --package-name string
           Definir o nome do pacote para o cabeçalho POT. O padrão é "PACOTE".

       --package-version string
           Definir o nome do pacote para o cabeçalho POT. O padrão é "VERSÃO".

Funções sobre catálogos de mensagens inteiras

       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 para o 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).

       gettextize($$)
           Esta função produz um catálogo mensagem traduzida a partir de  dois  catálogos,  um  original  e  uma
           tradução. Este processo é descrito em po4a(7) secção Gettextization: como é que funciona?.

       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á colocado no catálogo resultante.

           Esta função analisa seu argumento, 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.

           Eu algumas vezes gosto de Perl ;)

       para_utf8()
           Recodifica  para  UTF-8  as  mensagens traduzidas do PO. Não faz nada se o conjunto de carteres não é
           especificado no ficheio PO ("charset" value), ou se já é UTF-8 ou ASCII.

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 sequência não foi encontrada.

           Após a sequência 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 sequência não são
               importantes. Se sim, a função canoniza a sequência antes de procurar uma tradução,  e  envolve  o
               resultado.

           wrapcol
               a coluna em que nos devemos envolver (padrã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  o  status  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 sequências.\n";

       stats_clear()
           Limpa as estatísticas sobre visitas 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 sequência no idioma original.

           msgstr
               a tradução

           reference
               uma indicação de onde essa sequência 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 sequência. 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 seu significado.

           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,  usando  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 sua estrutura (como "chapt", "sect1", "p" e
               assim por diante em DocBook). Se os tipos de sequências 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 sequências para traduzir.

           wrap
               booleano que indica se os espaços em branco podem ser mutilados em cosméticas  reformatações.  Se
               for verdade, a sequência está canonizada antes do uso.

               Esta informação é gravada no ficheiro PO usando a 'flag' wrap ou B <no-wrap>.

           wrapcol
               a coluna em que nos devemos envolver (padrão: 76)

               Esta informação não é escrita no ficheiro PO.

Funções auxiliares

       count_entries()
           Retorna o número de entradas no catálogo (sem o cabeçalho).

       count_entries_doc()
           Retorna  o  número  de  entradas no documento. Se uma sequência 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.

       get_charset()
           Retorna o conjunto de caracteres especificado no cabeçalho PO. Se não foi definido, ele irá  retornar
           "CHARSET".

       set_charset($)
           Isso  define  o  conjunto  de  caracteres  do  cabeçalho PO para o valor especificado no seu primeiro
           argumento. Se você nunca invocar esta função  (e  nenhum  ficheiro  com  um  conjunto  de  caracteres
           especificado  é lido), o valor padrão é deixada para "CHARSET". Este valor não altera o comportamento
           deste módulo, que é utilizado apenas  para  preencher  esse  campo  no  cabeçalho,  e  devolvê-lo  em
           get_charset().

AUTORES

        Denis Barbier <barbier@linuxfr.org>
        Martin Quinson (mquinson#debian.org)

Ferramentas Po4a                                   2013-10-22                              Locale::Po4a::Po(3pm)