Man page - po4a(1)

Packages contains this manual

Available languages:

en fr pt_BR es it pt zh_Hans nl ja zh_Hant uk ru sr sr_Cyrl de

Manual

PO4A.1P

NOME
SINOPSE
DESCRIÇÃO
Quick start tutorial
OPÇÕES
OpçÔes que modificam o cabeçalho do POT
OpçÔes para modificar os ficheiros PO
CONFIGURATION FILE
Encontrar os ficheiros PO e POT
Especificando os documentos para traduzir
Especificar opçÔes
Adendo: adicionar conteĂșdo na tradução
Filtrar as cadeias traduzidas
VER TAMBÉM
AUTORES
DIREITOS DE AUTOR E LICENÇA

NOME

po4a - atualizar ambos os ficheiros PO e documentos traduzidos numa sĂł vez

SINOPSE

po4a [ options ] config_file

DESCRIÇÃO

po4a (PO for anything) facilita a manutenção de tradução da documentação a usar as ferramentas clĂĄssicas do gettext. A caracterĂ­stica principal do po4a Ă© que ele dissocia a tradução do conteĂșdo da estrutura documental. Consulte a pĂĄgina po4a (7) para uma introdução suave a este projeto.

Upon execution, po4a parses all documentation files specified in its configuration file. It updates the PO files (containing the translation) to reflect any change to the documentation, and produce a translated documentation by injecting the content’s translation (found in the PO files) into the structure of the original master document.

At first, the PO files only contain the strings to translate from the original documentation. This file format allows the translators to manually provide a translation for each paragraph extracted by po4a . If the documentation is modified after translation, po4a marks the corresponding translations as "fuzzy" in the PO file to request a manual review by the translators. The translators can also provide so-called "addendum", that are extra content stating for example who did the translation and how to report bugs.

master documents ---+---->-------->---------+
(doc authoring) | |
V (po4a executions) >-----+--> translated
| | | documents
existing PO files -->--> updated PO files >-+ |
ˆ | |
| V |
+----------<---------<-------+ ˆ
(manual translation process) |
|
addendum -->--------------------------------------+

The workflow of po4a is asynchronous, as suited to open-source projects. The documentation writers author the master documents at their own pace. The translators review and update the translations in the PO files. The maintainers rerun po4a on need, to reflect any change to the original documentation to the PO files, and to produce updated documentation translations, by injecting the latest translation into the latest document structure.

By default, a given translated document is produced when at least 80% of its content is translated. The untranslated text is kept in the original language. The produced documentation thus mixes languages if the translation is not complete. You can change the 80% threshold with the --keep option described below. Note however that discarding translations as soon as they are not 100% may be discouraging for the translators whose work will almost never be shown to the users, while showing "translations" that are too incomplete may be troubling for the end users.

Storing the translated documentation files in the version control system is probably a bad idea, since they are automatically generated. The precious files are the PO files, that contain the hard work of your fellow translators. Also, some people find it easier to interact with the translators through an online platform such as weblate, but this is naturally fully optional.

Quick start tutorial

Let’s assume you maintain a program named foo which has a man page man/foo.1 written in English (the bridge language in most open-source projects, but po4a can be used from or to any language). Some times ago, someone provided a German translation named man/foo.de.1 and disappeared. This is a problem because you just got a bug report saying that your documentation contains a gravely misleading information that must be fixed in all languages, but you don’t speak German so you can only modify the original, not the translation. Now, another contributor wants to contribute a translation to Japanese, a language that you don’t master either.

It is time to convert your documentation to po4a to solve your documentation maintenance nightmares. You want to update the doc when needed, you want to ease the work of your fellow translators, and you want to ensure that your users never see any outdated and thus misleading documentation.

The conversion includes two steps: setup the po4a infrastructure, and convert the previous German translation to salvage the previous work. This latter part is done using po4a-gettextize, as follows. As detailed in the documentation of po4a-gettextize (1), this process rarely fully automatic, but once it’s done, the de.po file containing the German translation can be integrated in your po4a workflow.

po4a-gettextize --format man --master foo.1 --localized foo.de.1 --po de.po

Let’s now configure po4a. With the appropriate file layout, your configuration file could be as simple as this:

[po_directory] man/po4a/
[type: man] man/foo.1 $lang:man/translated/foo.$lang.1

It specifies that all PO files (containing the work of the translators) are in the man/po4a/ directory, and that you have only one master file, man/foo.1 . If you had several master files, you would have several lines similar to the second one. Each such line also specify where to write the corresponding translation files. Here, the German translation of man/foo.1 is in man/translated/foo.de.1 .

The last thing we need to complete the configuration of po4a is a POT file containing the template material that should be used to start a new translation. Simply create an empty file with the .pot extension in the specified po_directory (e.g. man/po4a/foo.pot ), and po4a will fill it with the expected content.

Here is a recap of the files in this setup:

├── man/
│ ├── foo.1 <- The original man page, in English
│ ├── po4a/
│ │ ├── de.po <- The German PO translation, from gettextization
│ │ └── foo.pot <- The POT template of future translations (empty at first)
│ └── translated/ <- Directory where the translations will be created
└── po4a.cfg <- The configuration file

Once setup, executing po4a will parse your documentation, update the POT template file, use it to update the PO translation files, and use them to update the documentation translation files. All in one command:

po4a --verbose po4a.cfg

This is it. po4a is now fully configured. Once you’ve fixed your error in man/foo.1 , the offending paragraph in the German translation will be replaced by the fixed text in English. Mixing languages is not optimal, but it’s the only way to remove errors in translations that you don’t even understand, and ensure that the content presented to the users is never misleading. Updating the German translation is also much easier in the corresponding PO file, so the language mix-up may not last long. Finally, when a Japanese translator wants to contribute a new translation, she should rename the foo.pot into ja.po and complete the translation. Once you have this file, just drop it in man/po4a/po/ . A translated page will appear as man/translated/foo.ja.1 (provided that enough content is translated) when you run po4a again.

OPÇÕES

-k , --keep

Limite mĂ­nimo de percentagem de tradução para manter (p.ex. escrever) o ficheiro resultante (predefinição: 80). P.ex. por predefinição, ficheiros tĂȘm que ser traduzidos pelo menos a 80% para serem escritos no disco.

-w , --width

Column at which we should wrap the resulting file if the format supports it (default: 76).

-h , --help

Mostrar uma pequena mensagem de ajuda.

-M , --master-charset

Conjunto de carateres dos ficheiros a conter os documentos a traduzir. Note que todos os ficheiros mestres devem ter o mesmo conjunto de carateres.

-L , --localized-charset

Carrossel dos ficheiros que contĂȘm os documentos localizados. Note que todos os documentos traduzidos utilizarĂŁo o mesmo conjunto de caracteres.

-A , --addendum-charset

Conjunto de carateres da adenda. Note-se que todas as adendas devem estar no mesmo conjnto de carateres.

-V , --version

Mostrar a versĂŁo do script e sair.

-v , --verbose

Aumentar o detalhe do programa.

-q , --quiet

Diminuir o detalhe do programa.

-d , --debug

Saída de alguma informação de depuração.

-o , --option

Opção/çÔes adicional/ais para passar ao plugin de formato. Veja a documentação de cada plugin para mais informaçÔes sobre as opçÔes vĂĄlidas 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 considera que nĂŁo Ă© necessĂĄrio.

O comportamento predefinido (quando --force nĂŁo Ă© especificado) Ă© o seguinte:

Se o ficheiro POT jå existe, ele é regenerado se um documento mestre ou o ficheiro de configuração é mais recente (a menos que --no-update seja fornecido). O ficheiro POT também é escrito num documento temporårio e po4a verifica que as mudanças são realmente necessårias.

Além disso, uma tradução é regenerada somente se o documento mestre dela, o ficheiro PO, uma das suas adendas ou o ficheiro de configuração é mais recente. Para evitar tentar regenerar traduçÔes que não passam no teste de limite (ver --keep ), um ficheiro com a extensão .po4a-stamp pode ser criado (ver --stamp ).

Se um documento mestre inclui ficheiros, deve usar a flag --force porque o tempo de modificação dos ficheiros incluídos não são tomados em conta.

Os ficheiros PO sĂŁo sempre regenerados com base em POT com msgmerge -U .

--stamp

Diz po4a para criar ficheiros de informação quando uma tradução não é gerada porque não atingiu o limiar. Esses ficheiros de informação são nomeados de acordo com o documento traduzido esperado, com a extensão .po4a-stamp .

Nota: Isso só ativa a criação dos ficheiros .po4a-stamp . Os ficheiros de informação são sempre utilizados se existirem e são removidos com --rm-translations ou quando o ficheiro é finalmente traduzido.

--no-translations

NĂŁo gerar os documentos traduzidos, apenas atualizar os ficheiros POT e PO.

--no-update

Não altere os ficheiros POT e PO, apenas a tradução pode ser atualizada.

--keep-translations

MantĂ©m os ficheiros de tradução existentes mesmo se a tradução nĂŁo atingir o limite especificado por --keep . Essa opção nĂŁo cria ficheiros de tradução com pouco conteĂșdo, mas vai gravar traduçÔes existentes que cujo nĂ­vel decai devido a alteraçÔes nos ficheiros de mestre.

ATENÇÃO: esta opção muda o comportamento do po4a de uma maneira bastante drĂĄstica: os seus ficheiros traduzidos nĂŁo serĂŁo atualizados atĂ© que a tradução melhore. Use esta opção somente se preferir enviar uma documentação traduzida desatualizada em vez de enviar apenas uma documentação nĂŁo traduzida precisa.

--rm-translations

Remover os ficheiros traduzidos (implica --no-translations ).

--no-backups

Esta flag não faz nada desde 0.41 e pode ser removida em versÔes posteriores.

--rm-backups

Esta flag não faz nada desde 0.41 e pode ser removida em versÔes posteriores.

--translate-only translated-file

Traduzir apenas o ficheiro especificado. Pode ser Ăștil para acelerar o processamento se um ficheiro de configuração contĂ©m muitos ficheiros. Note que o que esta opção faz nĂŁo Ă© possĂ­vel atualizar ficheiros PO e POT. Esta opção pode ser usada vĂĄrias vezes.

--variable var = value

Definir uma variĂĄvel que serĂĄ expandida no ficheiro de configuração po4a .Cada ocorrĂȘncia de $(var) serĂĄ substituĂ­da por value . Esta opção pode ser usada vĂĄrias vezes.

--srcdir SRCDIR

Definir o diretório de base para todos os documentos de entrada especificados no ficheiro de configuração po4a .

Se destdir e srcdir forem especificados, os ficheiros de entrada serĂŁo pesquisados nos diretĂłrios seguintes, em ordem: destdir , o diretĂłrio atual e srcdir . Os ficheiros de saĂ­da sĂŁo gravados em destdir , se forem especificados, ou no diretĂłrio atual.

--destdir DESTDIR

Definir o diretório base para todos os documentos de saída especificados no ficheiro de configuração po4a (veja --srcdir acima).

OpçÔes que modificam o cabeçalho do POT

--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.

--master-language

Idioma dos ficheiros fonte que contĂȘm os documentos a traduzir. Note que todos os documentos principais devem usar o mesmo idioma.

--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".

OpçÔes para modificar os ficheiros PO

--msgmerge-opt options

OpçÔes extra para msgmerge (1).

Nota: $lang serĂĄ estendida ao idioma atual.

--no-previous

Esta opção remove --previous a partir das opçÔes passadas para B <msgmerge> Isto é necessårio para suportar versÔes do gettext mais cedo do que 0.16.

--previous

Esta opção acrescenta --previous ås opçÔes passadas para msgmerge . Isso requer gettext 0.16 ou posterior e é ativado por predefinição.

CONFIGURATION FILE

po4a espera um ficheiro de configuração como argumento. Este ficheiro deve conter os elementos seguintes:

‱

O caminho aos ficheiros PO e a lista de idiomas existentes no projeto;

‱

Opcionalmente, algumas opçÔes globais e os chamados aliases de configuração que são usados como modelos para configurar ficheiros mestres individuais ;

‱

A lista de cada ficheiro mestre a traduzir, juntamente com parĂąmetros especĂ­ficos.

Todas as linhas contĂȘm um comando entre colchetes, seguido pelos seus parĂąmetros. Os comentĂĄrios começam com o caractere "#" e correm atĂ© ao fim da linha. Pode escapar do fim da linha para espalhar um comando por vĂĄrias linhas.

Alguns exemplos completos são apresentados nesta pågina, enquanto outros exemplos encontram-se no diretório "t/cfg" da distribuição fonte.

Encontrar os ficheiros PO e POT

A solução mais simples é 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 alemĂŁes e francĂȘses.

A mesma informação pode ser escrita da seguinte forma para reduzir o risco de erros de cópia/colagem:

[po4a_langs] fr de
[po4a_paths] man/po/project.pot $lang:man/po/$lang.po

O componente $lang Ă© expandido automaticamente a usar a lista de idiomas fornecidos, a reduzir o risco de erro de copiar/colar quando um novo idioma Ă© adicionado.

Pode compactar ainda mais as mesmas informaçÔes a fornecer apenas o caminho ao diretório que contém o seu projeto de tradução, como a seguir.

[po_directory] man/po/

O diretĂłrio 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 diretĂłrio tambĂ©m deve conter um Ășnico ficheiro POT, com a extensĂŁo ".pot" file. Para a primeira execução, este ficheiro pode estar vazio, mas deve existir (po4a nĂŁo pode adivinhar o nome a usar antes da extensĂŁo).

Note que deve escolher apenas um de "po_diretĂłrio" e "po4a_caminhos". O primeiro ("po_directĂłrio") Ă© 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") Ă© mais explĂ­cito, provavelmente mais legĂ­vel e Ă© aconselhado quando configura o seu primeiro projeto com o po4a.

Ficheiros PO centralizados ou divididos?

Por predefinição, o po4a produz um Ășnico ficheiro PO por idioma de destino, a conter todo o conteĂșdo do seu projeto de tradução. Conforme o seu projeto cresce, o tamanho desses ficheiros pode tornar-se problemĂĄtico. Ao utilizar weblate, Ă© possĂ­vel especificar prioridades para cada segmento de tradução (isto Ă©, msgid), de modo que os importantes sejam traduzidos primeiro. Mesmo assim, algumas equipas de tradução preferem dividir o conteĂșdo em vĂĄrios 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

With this line, po4a will produce separate POT and PO files for each document to translate. For example, if you have 3 documents and 5 languages, this will result in 3 POT files and 15 PO files. These files are named as specified on the "po4a_paths" template, with $master substituted to the basename of each document to translate. In case of name conflict, you can specify the POT file to use as follows, with the "pot=" parameter.

This feature can also be used to group several translated files into the same POT file. The following example only produces 2 POT files: l10n/po/foo.pot (containing the material from foo/gui.xml ) and l10n/po/bar.pot (containing the material from both bar/gui.xml and 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, po4a constrĂłi um compĂȘndio temporĂĄrio durante a atualização do PO, para compartilhar as traduçÔes entre todos os ficheiros do PO. Se dois ficheiros PO tiverem traduçÔes diferentes para a mesma cadeia, po4a marcarĂĄ esta cadeia como difusa e enviarĂĄ ambas as traduçÔes em todos os ficheiros PO a conter esta cadeia. Quando o tradutor nĂŁo se deixa abater, a tradução Ă© automaticamente utilizada em todos os ficheiros PO.

Especificando os documentos para traduzir

You must also list the documents that should be translated. For each master file, you must specify the format parser to use, the location of the translated document to produce, and optionally some configuration. File names should be quoted or escaped if they contain spaces. Here is an example:

[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 são difíceis de ler e modificar, por exemplo, ao adicionar um novo idioma. É muito mais simples reorganizar as coisas a usar o modelo $lang da maneira seguinte:

[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

Especificar opçÔes

Hå dois tipos de opçÔes: opçÔes do po4a são valores predefinidos para as opçÔes de linha de comando po4a enquanto opçÔes de formato são usadas para alterar o comportamento dos analisadores de formato. Como uma opçÔes do po4a , pode, por exemplo, especificar no seu ficheiro de configuração que o valor predefinido do parùmetro de linha de comando --keep é de 50% em vez de 80%. OpçÔes de formato estão documentadas na pågina específica de cada módulo de anålise, por exemplo, Locale::Po4a::Xml (3pm). Pode, por exemplo, passar nostrip para o analisador XML para não remover os espaços ao redor das cadeias extraídas.

Pode passar essas opçÔes a um ficheiro mestre especĂ­fico ou mesmo a uma tradução especĂ­fica desse ficheiro, a usar "opt:" e "opt_XX:" para o idioma "XX". No exemplo a seguir, a opção nostrip Ă© passada ao analisador XML (para todos os idiomas), enquanto o limite serĂĄ reduzido a 0% para a tradução em francĂȘs (que, portanto, Ă© sempre mantida).

[type:xml] toto.xml $lang:toto.$lang.xml opt:"-o nostrip" opt_fr:"--keep 0"

De qualquer forma, esses blocos de configuração devem estar localizados no final da linha. A declaração dos ficheiros deve vir primeiro, depois o adendo, se houver (veja abaixo) e somente as opçÔes. O agrupamento de pedaços de configuração não é muito importante, pois os elementos são internamente concatenados como cadeias. Os exemplos a seguir são 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 opçÔes especĂ­ficas do idioma nĂŁo sĂŁo usadas ao criar o ficheiro POT. Por exemplo, Ă© impossĂ­vel passar nostrip para o analisador apenas ao criar a tradução em francĂȘs, porque o mesmo ficheiro POT Ă© usado para atualizar todos os idiomas. Portanto, as Ășnicas opçÔes que podem ser especĂ­ficas do idioma sĂŁo as usadas na produção da tradução, como a opção "--keep".

Aliases de configuração

Para passar as mesmas opçÔes para vårios ficheiros, o melhor é definir um alias de tipo da maneira seguinte. No próximo exemplo, "--keep 0" é passado para todas as traduçÔes em italiano a usar este tipo "test", que é uma extensão do tipo "man".

[po4a_alias:test] man opt_it:"--keep 0"
[type: test] man/page.1 $lang:man/$lang/page.1

Também pode estender um tipo existente de reutilizar o mesmo nome ao alias da forma seguinte. Este não é interpretada como uma errÎnea definição recursiva.

[po4a_alias:man] man opt_it:"--keep 0"
[type: man] man/page.1 $lang:man/$lang/page.1

OpçÔes predefinidas globais

Também pode usar as linhas "[options]" para definir opçÔes que devem ser usadas para todos os ficheiros, independentemente do tipo dele.

[options] --keep 20 --option nostrip

Como nas opçÔes da linha de comando, pode abreviar os parùmetros passados no ficheiro de configuração:

[options] -k 20 -o nostrip

Prioridades das opçÔes

As opçÔes de todas as fontes são concatenadas, a garantir que os valores predefinidos possam ser facilmente substituídos por opçÔes mais específicas. A ordem é a seguinte:

‱

As linhas "[options]" fornecem valores predefinidos que podem ser substituĂ­dos por qualquer outra fonte.

‱

Os aliases de tipo são então usados. As configuraçÔes específicas do idioma substituem as aplicåveis a todos os idiomas.

‱

As configuraçÔes específicas de um determinado ficheiro mestre substituem as predefinidas e as provenientes do alias de tipo. Neste caso, as configuraçÔes específicas do idioma também substituem as globais.

‱

Finalmente, os parùmetros fornecidos na linha de comando po4a substituem todas as configuraçÔes do ficheiro de configuração.

Exemplo

Aqui estå um exemplo a mostrar como citar os espaços 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 conteĂșdo na tradução

Se deseja adicionar uma secção adicional à tradução, por exemplo, para dar mérito ao tradutor, é necessårio definir um adendo à linha que define o seu ficheiro mestre. Consulte a pågina 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

Também 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 não se aplicar, a tradução serå descartada.

Modificadores para a declaração de adendo

Os modificadores de adendo podem simplificar o ficheiro de configuração 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 Ă© um Ășnico caractere localizado antes do nome do ficheiro.

?

Incluir addendum_path se este ficheiro existir, caso contrĂĄrio nĂŁo fazer nada.

@

addendum_path nĂŁo Ă© uma adenda regular, mas um ficheiro a conter uma lista de adendas, uma por linha. Cada adenda pode ser precedida de modificadores.

!

addendum_path é descartado, não é carregado e não serå carregado por qualquer especificação de adenda.

O seguinte inclui um adendo em qualquer idioma, mas sĂł se existir. Nenhum erro serĂĄ relatado se o adendo nĂŁo 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

Às vezes, deseja ocultar algumas cadeias do processo de tradução. Nesse sentido, pode atribuir um parñmetro "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 está um exemplo:

[type:docbook] book.xml \
pot_in:book-filtered.xml \
$lang:book.$lang.xml

Com essa configuração, as cadeias a serem traduzidas serão extraídas do book-filter.xml (que deve ser produzido antes da chamada de po4a ) enquanto os ficheiros traduzidos serão compilados do book.xml . Como resultado, qualquer cadeia que faça parte de book.xml , mas não em book-filter.xml não serå incluída nos ficheiros PO, a impedir que os tradutores forneçam uma tradução para eles. Portanto, essas cadeias não serão modificadas ao produzir os documentos traduzidos. Isso naturalmente diminui o nível de tradução, portanto, pode precisar da opção "--keep" para garantir que o documento seja produzido de qualquer maneira.

VER TAMBÉM

po4a-gettextize (1), po4a (7).

AUTORES

Denis Barbier <barbier@linuxfr.org>
Nicolas François <nicolas.francois@centraliens.net>
Martin Quinson (mquinson#debian.org)

DIREITOS DE AUTOR E LICENÇA

Copyright 2002-2023 by SPI, inc.

This program is free software; you may redistribute it and/or modify it under the terms of GPL v2.0 or later (see the COPYING file).