PO4A.1P(1) User Contributed Perl Documentation PO4A.1P(1) NOME po4a - atualizar ambos os ficheiros PO e documentos traduzidos numa so vez RESUMO po4a [options] config_file DESCRICAO po4a (PO for anything) facilita a manutencao de traducao da documentacao a usar as ferramentas classicas do gettext. A caracteristica principal do po4a e que ele dissocia a traducao do conteudo da estrutura documental. Consulte a pagina po4a(7) para uma introducao suave a este projeto. Ao executar, po4a analisa todos os ficheiros de documentacao especificados no seu ficheiro de configuracao. Atualiza os ficheiros PO (contendo a traducao) para refletir qualquer alteracao na documentacao e produzir uma documentacao traduzida, injetando a traducao do conteudo (encontrado nos ficheiros PO) na estrutura do documento mestre original. Inicialmente, os ficheiros PO apenas contem as cadeias para traduzir da documentacao original. Este formato de ficheiro permite que os tradutores fornecam manualmente uma traducao para cada paragrafo extraido por po4a. Se a documentacao for modificada apos a traducao, po4a marca as traducoes correspondentes como "fuzzy" no ficheiro PO para solicitar uma revisao manual pelos tradutores. Os tradutores tambem podem fornecer o chamado "addendum" (adendo), que sao conteudo extra afirmando por exemplo quem fez a traducao e como relatar bugs. documentos mestres -+----->-------->---------+ (criacao de docs) | | V (execucoes do po4a) >----+--> documentos | | | traduzidos ficheiros PO existentes ------->-----> ficheiros PO atualizados-->--+ | ^ | | | V ^ +----------<---------<--------+ | (processo de traducao manual) | | adendo ---->--------------------------------------+ O fluxo de trabalho de po4a e assincrono, conforme adequado para projetos de codigo aberto. Os autores de documentacao escrevem os documentos mestre no seu proprio ritmo. Os tradutores revisam e atualizam as traducoes nos ficheiros PO. Os mantenedores executam novamente po4a quando necessario, para refletir qualquer alteracao na documentacao original para os ficheiros PO e para produzir traducoes de documentacao atualizadas, injetando a mais recente traducao para a mais recente estrutura de documentos. Por predefinicao, um documento traduzido e produzido quando pelo menos 80% do seu conteudo e traduzido. O texto nao traduzido e mantido no idioma original. A documentacao produzida mistura idiomas se a traducao nao estiver completa. Pode alterar o limite de 80% com a opcao -keep descrita abaixo. Note no entanto que descartar traducoes assim que nao sao 100% pode ser desanimador para os tradutores cujo trabalho quase nunca sera mostrado aos utilizadores, enquanto mostrar "traducoes" que sao muito incompletas pode ser um problema para os utilizadores finais. Armazenar os ficheiros de documentacao traduzidos no sistema de controle de versao e provavelmente uma ma ideia, uma vez que eles sao gerados automaticamente. Os ficheiros preciosos sao os ficheiros PO, que contem o trabalho duro dos seus colegas tradutores. Alem disso, algumas pessoas acham mais facil interagir com os tradutores atraves de uma plataforma online como o weblate, mas naturalmente que isto e totalmente opcional. Tutorial de inicio rapido Vamos supor que mantem um programa chamado foo que tem uma pagina man man/foo.1 escrito em ingles (o idioma-ponte na maioria dos projetos de codigo aberto, mas po4a pode ser usado de ou para qualquer idioma). Um tempo atras, alguem forneceu uma traducao em alemao chamada man/foo.de.1 e desapareceu. Este e um problema porque acabou de ter um relatorio de bug dizendo que a sua documentacao contem uma informacao gravemente enganosa que deve ser corrigida em todos os idiomas, mas nao fala alemao para que so possa modificar o original, nao a traducao. Agora, outro colaborador quer contribuir com uma traducao para japones, um idioma que tambem nao domina. E hora de converter a sua documentacao para po4a para resolver os seus pesadelos de manutencao de documentacao. Quer atualizar o documento quando necessario, quer facilitar o trabalho dos seus colegas tradutores e quer garantir que os seus utilizadores nunca vejam nenhuma documentacao desatualizada e, portanto, enganosa. A conversao inclui dois passos: configurar a infraestrutura do po4a e converter a traducao anterior alema para gravar o trabalho anterior. Esta ultima parte e feita usando po4a-gettextize, como se segue. Como detalhado na documentacao de po4a-gettextize(1), este processo raramente e totalmente automatico, mas uma vez feito, o ficheiro de.po contendo a traducao alema pode ser integrado no seu fluxo de trabalho do po4a. po4a-gettextize --format man --master foo.1 --localized foo.de.1 --po de.po Vamos agora configurar o po4a. Com a disposicao de ficheiro apropriada, o seu ficheiro de configuracao pode ser tao simples como este: [po_directory] man/po4a/ [type: man] man/foo.1 $lang:man/translated/foo.$lang.1 Isso especifica que todos os ficheiros PO (contendo o trabalho dos tradutores) estao no diretorio man/po4a/ e que tem apenas um ficheiro mestre, man/foo.1. Se tivesse varios ficheiros mestres, teria varias linhas semelhantes a segunda. Cada linha tambem especifica onde escrever os ficheiros de traducao correspondentes. Aqui, a traducao alema de man/foo.1 esta em man/translated/foo.de.1. A ultima coisa que precisamos para completar a configuracao do po4a e um ficheiro POT contendo o material do modelo que deve ser usado para iniciar uma nova traducao. Basta criar um ficheiro vazio com a extensao .pot no po_directory especificado (por exemplo, man/po4a/foo.pot) e o po4a ira preencher com o conteudo esperado. Aqui esta uma recapitulacao dos ficheiros nesta configuracao: man/ | foo.1 <- A pagina man original, em ingles | po4a/ | | de.po <- O PO com traducao alema, da gettextizacao | | foo.pot <- O POT, modelo de futuras traducoes (vazio no inicio) | translated/ <- Diretorio onde as traducoes serao criadas po4a.cfg <- O ficheiro de configuracao Uma vez configurado, a execucao do po4a analisara a sua documentacao, atualizara o ficheiro de modelo POT, vai usa-lo para atualizar os ficheiros de traducao PO e vai usa-los para atualizar os ficheiros de traducao da documentacao. Tudo num comando: po4a --verbose po4a.cfg E isto. po4a esta agora totalmente configurado. Uma vez que tenha corrigido o seu erro no man/foo.1, o paragrafo problematico na traducao alema sera substituido pelo texto corrigido em ingles. Misturar idiomas nao e o melhor, mas e a unica maneira de remover erros nas traducoes que nem se percebem e garantir que o conteudo apresentado aos utilizadores nunca seja enganoso. A atualizacao da traducao alema tambem e muito mais facil no ficheiro PO correspondente, entao a mistura de idiomas pode nao durar muito. Finalmente, quando um tradutor japones quer contribuir com uma nova traducao, ele deve renomear o foo.pot em ja.po e completar a traducao. Uma vez que tem este ficheiro, basta deixa-lo em man/po4a/po/. Uma pagina traduzida aparecera como man/translated/foo.ja.1 (desde que o conteudo suficiente seja traduzido) quando executar po4a novamente. OPCOES -k, --keep Limite minimo de percentagem de traducao para manter (ou seja, escrever) o ficheiro resultante (predefinicao: 80). Ou seja, por predefinicao, ficheiros tem que ser traduzidos pelo menos a 80% para serem escritos no disco. -w, --width Coluna na qual devemos quebrar linha no ficheiro resultante se o formato suportar (padrao: 76). Se o valor fornecido for 0 ou negativo, o ficheiro resultante nao tera quebra de linha. Isto e util com alguns formatos que podem ficar danificados ao quebrar linha novamente. -h, --help Mostrar uma pequena mensagem de ajuda. -M, --master-charset Conjunto de caracteres dos ficheiros que contem os documentos a traduzir. Note que todos os ficheiros mestres devem ter o mesmo conjunto de caracteres. -L, --localized-charset Conjunto de caracteres dos ficheiros que contem os documentos localizados. Note que todos os documentos traduzidos utilizarao o mesmo conjunto de caracteres. -A, --addendum-charset Conjunto de caracteres da adenda. Note-se que todas as adendas devem estar no mesmo conjunto de caracteres. -V, --version Mostrar a versao do script e sai. -v, --verbose Aumenta os detalhes do programa. -q, --quiet Diminui os detalhes do programa. -d, --debug Produz alguma informacao de depuracao. -o, --option Opcao/coes adicional/ais para passar ao plugin de formato. Veja a documentacao de cada plugin para mais informacoes sobre as opcoes validas e os significados deles. Por exemplo, poderia passar '-o tablecells' para o analisador AsciiDoc, enquanto o analisador de texto aceitaria '-o tabs=split'. -f, --force Gera sempre os ficheiros POT e PO, mesmo se po4a considerar que nao e necessario. O comportamento predefinido (quando --force nao e especificado) e o seguinte: Se o ficheiro POT ja existe, ele e regenerado se um documento mestre ou o ficheiro de configuracao e mais recente (a menos que --no-update seja fornecido). O ficheiro POT tambem e escrito num documento temporario e po4a verifica que as mudancas sao realmente necessarias. Alem disso, uma traducao e regenerada somente se o documento mestre dela, o ficheiro PO, uma das suas adendas ou o ficheiro de configuracao e mais recente. Para evitar tentar regenerar traducoes que nao passam no teste de limite (ver --keep), um ficheiro com a extensao .po4a-stamp pode ser criado (ver --stamp). Se um documento mestre incluir ficheiros, deve usar a flag --force porque o tempo de modificacao dos ficheiros incluidos nao e tomado em conta. Os ficheiros PO sao sempre regenerados com base em POT com msgmerge -U. --stamp Diz ao po4a para criar ficheiros de informacao quando uma traducao nao e gerada porque nao atingiu o limiar. Esses ficheiros de informacao sao nomeados de acordo com o documento traduzido esperado, com a extensao .po4a-stamp. Nota: Isso so ativa a criacao dos ficheiros .po4a-stamp. Os ficheiros de informacao sao sempre utilizados se existirem e sao removidos com --rm-translations ou quando o ficheiro e finalmente traduzido. --no-translations Nao gera os documentos traduzidos, apenas atualiza os ficheiros POT e PO. --no-update Nao altera os ficheiros POT e PO, apenas a traducao pode ser atualizada. --keep-translations Mantem os ficheiros de traducao existentes mesmo se a traducao nao atingir o limite especificado por --keep. Essa opcao nao cria ficheiros de traducao com pouco conteudo, mas vai gravar traducoes existentes que cujo nivel decai devido a alteracoes nos ficheiros de mestre. ATENCAO: esta opcao muda o comportamento do po4a de uma maneira bastante drastica: os seus ficheiros traduzidos nao serao atualizados ate que a traducao melhore. Use esta opcao somente se preferir enviar uma documentacao traduzida desatualizada em vez de enviar apenas uma documentacao nao traduzida precisa. --rm-translations Remove os ficheiros traduzidos (implica --no-translations). --no-backups Esta bandeira nao faz nada desde 0.41 e pode ser removida em versoes posteriores. --rm-backups Esta bandeira nao faz nada desde 0.41 e pode ser removida em versoes posteriores. --translate-only translated-file Traduzir apenas o ficheiro especificado. Pode ser util para acelerar o processamento se um ficheiro de configuracao contem muitos ficheiros. Note que o que esta opcao nao atualiza ficheiros PO e POT. Esta opcao pode ser usada varias vezes. --variable var=value Define uma variavel que sera expandida no ficheiro de configuracao po4a. Cada ocorrencia de $(var) sera substituida por value. Esta opcao pode ser usada varias vezes. --target-lang LANG Atualiza ficheiros PO e gera documentos traduzidos apenas para o idioma especificado. Esta opcao pode ser usada varias vezes. --srcdir SRCDIR Define o diretorio de base para todos os documentos de entrada especificados no ficheiro de configuracao do po4a. Se ambos destdir e srcdir forem especificados, os ficheiros de entrada serao pesquisados nos diretorios seguintes, em ordem: destdir, o diretorio atual e srcdir. Os ficheiros resultantes sao gravados em destdir se especificado, ou no diretorio atual. --destdir DESTDIR Define o diretorio base para todos os documentos de saida especificados no ficheiro de configuracao po4a (veja --srcdir em cima). Opcoes que modificam o cabecalho do POT --porefs type Especifica o formato de referencia. O argumento tipo pode ser um de: never para nao produzir qualquer referencia, file para especificar o ficheiro sem o numero da linha, counter para substituir os numeros de linha a aumentar o contador e full para incluir referencias completas. (predefinicao: full). --wrap-po no|newlines|number (predefinicao: 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 sao mais faceis de manipular automaticamente, mas mais dificeis de ler para humanos. Historicamente, o pacote gettext reformatou os ficheiros po na 77a coluna para questoes cosmeticas. Esta opcao especifica o comportamento de po4a. Se for definido como um valor numerico, o po4a quebrara linha do ficheiro po apos esta coluna e apos novas linhas no conteudo. Se for definido como newlines, o po4a dividira apenas o msgid e o msgstr apos as novas linhas no conteudo. Se for definido como no, o po4a nao quebrara linha do ficheiro po. Os comentarios de referencia tem sempre as linhas quebradas pelas ferramentas do gettext que usamos internamente. Observe que esta opcao nao afeta a maneira como o msgid e o msgstr sofrem quebra de linhas ou seja, como os caracteres de nova linha sao adicionados ao conteudo dessas cadeias. --master-language Idioma dos ficheiros fonte que contem os documentos a traduzir. Note que todos os documentos mestre devem usar o mesmo idioma. --msgid-bugs-address e-mail@endereco Define o endereco do relatorio para bugs de msgid. Por predefinicao, os ficheiros POT criados nao tem campos Report-Msgid-bugs-To. --copyright-holder string Define o titular dos direitos de autor no cabecalho POT. O valor predefinido e " Free Software Foundation, Inc." --package-name string Define o nome do pacote para o cabecalho POT. A predefinicao e "PACKAGE". --package-version string Define a versao do pacote para o cabecalho POT. A predefinicao e "VERSION". Opcoes para modificar os ficheiros PO --msgmerge-opt options Opcoes extra para msgmerge(1). Nota: $lang sera estendida ao idioma atual. --no-previous Esta opcao remove --previous a partir das opcoes passadas para msgmerge . Isto e necessario para suportar versoes do gettext antes de 0.16. --previous Esta opcao acrescenta --previous as opcoes passadas para msgmerge. Isso requer gettext 0.16 ou posterior e e ativado por predefinicao. FICHEIRO DE CONFIGURACAO O po4a espera um ficheiro de configuracao como argumento. Este ficheiro deve conter os elementos seguintes: o O caminho aos ficheiros PO e a lista de idiomas existentes no projeto; o Opcionalmente, algumas opcoes globais e os chamados aliases de configuracao que sao usados como modelos para configurar ficheiros mestre individuais ; o A lista de cada ficheiro mestre a traduzir, juntamente com parametros especificos. Todas as linhas contem um comando entre colchetes, seguido pelos seus parametros. Os comentarios comecam com o caractere "#" e correm ate ao fim da linha. Pode escapar do fim da linha para espalhar um comando por varias linhas. Alguns exemplos completos sao apresentados nesta pagina, enquanto outros exemplos encontram-se no diretorio "t/cfg" da distribuicao fonte. Encontrar os ficheiros PO e POT A solucao mais simples e fornecer o caminho aos ficheiros POT e PO, da maneira seguinte: [po4a_paths] man/po/project.pot de:man/po/de.po fr:man/po/fr.po Isto especifica o caminho ao ficheiro POT primeiro e, em seguida, os caminhos aos ficheiros PO Alemao e Frances. A mesma informacao pode ser escrita da seguinte forma para reduzir o risco de erros de copia/colagem: [po4a_langs] fr de [po4a_paths] man/po/project.pot $lang:man/po/$lang.po O componente $lang e expandido automaticamente a usar a lista de idiomas fornecidos, a reduzir o risco de erro de copiar/colar quando um novo idioma e adicionado. Pode compactar ainda mais as mesmas informacoes a fornecer apenas o caminho ao diretorio que contem o seu projeto de traducao, como a seguir. [po_directory] man/po/ O diretorio fornecido deve conter um conjunto de ficheiros PO, cada um chamado XX.po, o "XX" a ser o ISO 631-1 do idioma utilizado neste ficheiro. O diretorio tambem deve conter um unico ficheiro POT, com a extensao ".pot". Para a primeira execucao, este ficheiro pode estar vazio, mas deve existir (o po4a nao pode adivinhar o nome a usar antes da extensao). Note que deve escolher apenas um de "po_directory" e "po4a_paths". O primeiro ("po_directory") e mais compacto, reduz ainda mais o risco de erro de copiar/colar, mas obriga-o a usar a estrutura de projeto e os nomes de ficheiro esperados. O segundo ("po4a_paths") e mais explicito, provavelmente mais legivel e e aconselhado quando configura o seu primeiro projeto com o po4a. Ficheiros PO centralizados ou divididos? Por predefinicao, o po4a produz um unico ficheiro PO por idioma de destino, a conter todo o conteudo do seu projeto de traducao. Conforme o seu projeto cresce, o tamanho desses ficheiros pode tornar-se problematico. Ao utilizar weblate, e possivel especificar prioridades para cada segmento de traducao (isto e, msgid), de modo que os importantes sejam traduzidos primeiro. Mesmo assim, algumas equipas de traducao preferem dividir o conteudo em varios ficheiros. Para ter um ficheiro PO por ficheiro mestre, basta usar a cadeia $master no nome dos ficheiros PO na linha "[po4a_paths]", da maneira seguinte. [po4a_paths] doc/$master/$master.pot $lang:doc/$master/$lang.po Com esta linha, o po4a produzira ficheiros POT e PO separados para cada documento a ser traduzido. Por exemplo, se tiver 3 documentos e 5 idiomas, isto resultara em 3 ficheiros POT e 15 ficheiros PO. Estes ficheiros sao nomeados conforme especificado no modelo "po4a_paths", com $master substituido no nome de base de cada documento a ser traduzido. Em caso de conflito de nome, pode especificar o ficheiro POT a ser usado da seguinte maneira, com o parametro "pot=". Este recurso tambem pode ser usado para agrupar varios ficheiros traduzidos no mesmo ficheiro POT. O exemplo a seguir so produz 2 ficheiros POT: l10n/po/foo.pot (contendo o material de foo/gui.xml) e l10n/po/bar.pot (contendo o material de ambos bar/gui.xml e bar/cli.xml). [po4a_langs] de fr ja [po4a_paths] l10n/po/$master.pot $lang:l10n/po/$master.$lang.po [type: xml] foo/gui.xml $lang:foo/gui.$lang.xml pot=foo [type: xml] bar/gui.xml $lang:bar/gui.$lang.xml pot=bar [type: xml] bar/cli.xml $lang:bar/cli.$lang.xml pot=bar No modo split, o po4a constroi um compendio temporario durante a atualizacao do PO, para compartilhar as traducoes entre todos os ficheiros do PO. Se dois ficheiros PO tiverem traducoes diferentes para a mesma cadeia, po4a marcara esta cadeia como difusa e enviara ambas as traducoes em todos os ficheiros PO a conter esta cadeia. Quando atualizada pelo tradutor, a traducao e automaticamente utilizada em todos os ficheiros PO. Especificando os documentos para traduzir Tambem deve listar os documentos que devem ser traduzidos. Para cada ficheiro mestre, deve especificar o analisador de formato a ser usado, o local do documento traduzido a ser produzido e, opcionalmente, alguma configuracao. Nomes de ficheiros devem estar entre aspas ou escapados se eles contiverem espacos. Aqui esta um exemplo: [type: sgml] "doc/my stuff.sgml" "fr:doc/fr/mon truc.sgml" de:doc/de/mein\ kram.sgml [type: man] script fr:doc/fr/script.1 de:doc/de/script.1 [type: docbook] doc/script.xml fr:doc/fr/script.xml \ de:doc/de/script.xml Mas novamente, essas linhas complexas sao dificeis de ler e modificar, por exemplo, ao adicionar um novo idioma. E muito mais simples reorganizar as coisas a usar o modelo $lang da seguinte maneira: [type: sgml] doc/my_stuff.sgml $lang:doc/$lang/my_stuff.sgml [type: man] script.1 $lang:po/$lang/script.1 [type: docbook] doc/script.xml $lang:doc/$lang/script.xml Especificando opcoes Ha dois tipos de opcoes: opcoes do po4a sao valores predefinidos para as opcoes de linha de comando po4a enquanto opcoes de formato sao usadas para alterar o comportamento dos analisadores de formato. Como uma opcoes do po4a, pode por exemplo, especificar no seu ficheiro de configuracao que o valor predefinido do parametro de linha de comando --keep e de 50% em vez de 80%. Opcoes de formato estao documentadas na pagina especifica de cada modulo de analise, por exemplo, Locale::Po4a::Xml(3pm). Pode por exemplo, passar nostrip para o analisador XML para nao remover os espacos ao redor das cadeias extraidas. Pode passar essas opcoes a um ficheiro mestre especifico ou mesmo a uma traducao especifica desse ficheiro, a usar "opt:" e "opt_XX:" para o idioma "XX". No exemplo a seguir, a opcao nostrip e passada ao analisador XML (para todos os idiomas), enquanto o limite sera reduzido a 0% para a traducao em frances (que, portanto, e sempre mantida). [type:xml] toto.xml $lang:toto.$lang.xml opt:"-o nostrip" opt_fr:"--keep 0" De qualquer forma, esses blocos de configuracao devem estar localizados no final da linha. A declaracao dos ficheiros deve vir primeiro, depois o adendo, se houver (veja abaixo) e somente as opcoes. O agrupamento de pedacos de configuracao nao e muito importante, pois os elementos sao internamente concatenados como cadeias. Os exemplos a seguir sao todos equivalentes: [type:xml] toto.xml $lang:toto.$lang.xml opt:"--keep 20" opt:"-o nostrip" opt_fr:"--keep 0" [type:xml] toto.xml $lang:toto.$lang.xml opt:"--keep 20 -o nostrip" opt_fr:"--keep 0" [type:xml] toto.xml $lang:toto.$lang.xml opt:--keep opt:20 opt:-o opt:nostrip opt_fr:--keep opt_fr:0 Observe que as opcoes especificas do idioma nao sao usadas ao criar o ficheiro POT. Por exemplo, e impossivel passar nostrip para o analisador apenas ao criar a traducao em frances, porque o mesmo ficheiro POT e usado para atualizar todos os idiomas. Portanto, as unicas opcoes que podem ser especificas do idioma sao as usadas na producao da traducao, como a opcao "--keep". Nomes alternativos de configuracao Para passar as mesmas opcoes para varios ficheiros, o melhor e definir um alias de tipo da maneira seguinte. No proximo exemplo, "--keep 0" e passado para todas as traducoes em italiano a usar este tipo "test", que e uma extensao do tipo "man". [po4a_alias:test] man opt_it:"--keep 0" [type: test] man/page.1 $lang:man/$lang/page.1 Tambem pode estender um tipo existente de reutilizar o mesmo nome ao alias da forma seguinte. Este nao e interpretado como uma definicao recursiva errada. [po4a_alias:man] man opt_it:"--keep 0" [type: man] man/page.1 $lang:man/$lang/page.1 Opcoes predefinidas globais Tambem pode usar as linhas "[options]" para definir opcoes que devem ser usadas para todos os ficheiros, independentemente do tipo dele. [options] --keep 20 --option nostrip Como nas opcoes da linha de comando, pode abreviar os parametros passados no ficheiro de configuracao: [options] -k 20 -o nostrip Prioridades das opcoes As opcoes de todas as fontes sao concatenadas, a garantir que os valores predefinidos possam ser facilmente substituidos por opcoes mais especificas. A ordem e a seguinte: o As linhas "[options]" fornecem valores predefinidos que podem ser substituidos por qualquer outra fonte. o Os aliases de tipo sao entao usados. As configuracoes especificas do idioma substituem as aplicaveis a todos os idiomas. o As configuracoes especificas de um determinado ficheiro mestre substituem as predefinidas e as provenientes do alias de tipo. Neste caso, as configuracoes especificas do idioma tambem substituem as globais. o Finalmente, os parametros fornecidos na linha de comando po4a substituem todas as configuracoes do ficheiro de configuracao. Exemplo Aqui esta um exemplo a mostrar como citar os espacos e aspas: [po_directory] man/po/ [options] --master-charset UTF-8 [po4a_alias:man] man opt:"-o \"mdoc=NAME,SEE ALSO\"" [type:man] t-05-config/test02_man.1 $lang:tmp/test02_man.$lang.1 \ opt:"-k 75" opt_it:"-L UTF-8" opt_fr:--verbose Adendo: Adicionar conteudo extra na traducao Se deseja adicionar uma seccao adicional a traducao, por exemplo, para dar merito ao tradutor, e necessario definir um adendo a linha que define o seu ficheiro mestre. Consulte a pagina po4a(7) para obter mais detalhes sobre a sintaxe dos ficheiros de adendo. [type: pod] script fr:doc/fr/script.1 \ add_fr:doc/l10n/script.fr.add Tambem pode usar modelos de idioma da maneira seguinte: [type: pod] script $lang:doc/$lang/script.1 \ add_$lang:doc/l10n/script.$lang.add Se um adendo falhar ao aplicar, a traducao sera descartada. Modificadores para a declaracao de adendo Os modificadores de adendo podem simplificar o ficheiro de configuracao no caso em que nem todos os idiomas fornecem um adendo ou quando a lista de adendos muda de um idioma ao outro. O modificador e um unico caractere localizado antes do nome do ficheiro. ? Inclui addendum_path se este ficheiro existir, caso contrario nao faz nada. @ addendum_path nao e uma adenda regular, mas um ficheiro a conter uma lista de adendas, uma por linha. Cada adenda pode ser precedida por modificadores. ! addendum_path e descartado, nao e carregado e nao sera carregado por qualquer especificacao de adenda. O seguinte inclui um adendo em qualquer idioma, mas so se existir. Nenhum erro sera relatado se o adendo nao existir. [type: pod] script $lang:doc/$lang/script.1 add_$lang:?doc/l10n/script.$lang.add O seguinte inclui uma lista de adendos para cada idioma: [type: pod] script $lang:doc/$lang/script.1 add_$lang:@doc/l10n/script.$lang.add Filtrar as cadeias traduzidas As vezes, deseja ocultar algumas cadeias do processo de traducao. Nesse sentido, pode atribuir um parametro "pot_in" ao seu ficheiro mestre para especificar o nome do ficheiro a ser usado em vez do mestre real ao criar o ficheiro POT. Aqui esta um exemplo: [type:docbook] book.xml \ pot_in:book-filtered.xml \ $lang:book.$lang.xml Com essa configuracao, as cadeias a serem traduzidas serao extraidas do book-filtered.xml (que deve ser produzido antes da chamada de po4a) enquanto os ficheiros traduzidos serao compilados do book.xml. Como resultado, qualquer cadeia que faca parte de book.xml, mas nao em book-filtered.xml nao sera incluida nos ficheiros PO, a impedir que os tradutores fornecam uma traducao para eles. Portanto, essas cadeias nao serao modificadas ao produzir os documentos traduzidos. Isso naturalmente diminui o nivel de traducao, portanto, pode precisar da opcao "--keep" para garantir que o documento seja produzido de qualquer maneira. VEJA TAMBEM po4a-gettextize(1), po4a(7). AUTORES Denis Barbier Nicolas Francois Martin Quinson (mquinson#debian.org) DIREITOS DE AUTOR E LICENCA Copyright 2002-2023 por SPI, inc. Este programa e um software livre; pode redistribui-lo e/ou modifica-lo sob os termos da GPL v2.0 ou posterior (veja o ficheiro COPYING). perl v5.42.0 2025-11-22 PO4A.1P(1)