Provided by: po4a_0.52-1_all 

NOME
po4a-runtime - po4a e tradução com gettext em tempo de execução sem Autotools
Introdução
Com po4a-build, po4a também incluir suporte a adição de tradução de mensagens de saída de scripts em
tempo de execução usando gettext, mas sem exigir o pacote para adotar Autotools e o processo de
./configure comum.
Usando pedaços de Makefile exemplo, pacotes podem aproveitar intltool com esforço mínimo.
Layout
Tradução de documentação NÃO usa o mesmo diretório po/ que a tradução em tempo de execução. Embora
tradução em tempo de execução possa usar diretórios diferentes de po/, normalmente é mais fácil seguir
nesta convenção.
Múltiplas linguagens
Apenas uma palavras sobre pacotes que usam scripts em múltiplas linguagens de programação. Uma mistura
comum é Perl e shell. Note bem: gettext VAI ficar confuso e vai omitir strings de uma ou outra linguagem
a menos que extensões de arquivos sejam usadas seja qual for a linguagem menos problemática.
Quando se está usando múltiplas linguagens, experimente com várias configurações em po/Makevars até que
você obtenha todas as strings que você precisa no arquivo POT.
Em particular, ao especificar duas linguagens no po/Makevars pode ser problemático. Ao invés de:
# Não faça isso:
XGETTEXT_OPTIONS = -L Perl -L Shell --from-code=iso-8859-1
Considere renomear (o fornecer links simbólicos para) todos arquivos de uma linguagem envolvida e omitir
as opções explícitas -L. A extensão de arquivo apenas precisa existir durante o momento em que
po/POTFILES.in está sendo processado.
A opção --keywords também pode ser útil - veja a documentação do xgettext(1).
Populando po/
Então, crie seu diretório po/ nível de topo e use os arquivos exemplos em /usr/share/doc/po4a/examples/
para populá-lo.
LINGUAS
Deve existir, mesmo se vazio. Consiste em uma lista de traduções - cada linha não iniciando com um
"#" deve corresponder a um arquivo PO existente. Por ex.: se LINGUAS contém um único arquivo, "fr",
um fr.po deve existir também no arquivo LINGUAS.
$ cat po/LINGUAS
cs
de
fr
$
Por convenção, o arquivo LINGUAS é organizado em ordem alfabética, mas esse é um processo manual.
POTFILES.in
A lista de arquivos contendo as mensagens que precisam ser traduzidas em tempo de execução, isto é,
seus scripts. Se você usou o diretório po/ de nível de topo, os caminhos devem ser relativos ao
diretório de nível de topo, e não ao próprio diretório po/.
$ ls -l
meuscript.pl
outro.pl
foo/suporte.pl
po/
po/POTFILES.in
$ cat po/POTFILES.in
meuscript.pl
outro.pl
foo/suporte.pl
$
Note que há suporte explícito a scripts conterem eles mesmo strings para tradução de ambos tempo de
execução e documentação. ex: usando funções do gettext para tempo de execução e conteúdo de POD
embutido para documentação. Então, não é um problema ter o mesmo arquivo listado no po/POTFILES.in e
doc/po4a-build.conf
Makevars-perl.example
Se os seus scripts são Perl, copie este arquivo exemplo como po/Makevars e edite-o para adequá-lo.
Makevars-shell.example
Se os seus scripts são shell, copie este arquivo exemplo como po/Makevars e edite-o para adequá-lo.
po4a-build.make
Copie este exemplo como po/Makefile - ele não deveria precisar de ser editado, mas você pode desejar
mantê-lo atualizado em relação ao /usr/share/doc/po4a/examples/po4a-build.make, pois ele pode
precisar ser atualizado com o passar das versões do po4a porque o intltool permite alterações. (O
arquivo em si é gerado em um outro projeto usando Autotools e intltool.)
Compilação
Esses excertos precisam ser adicionados ao seu Makefile de nível de topo ou qualquer outro método que
você usar para preparar seus fontes para distribuição.
clean:
$(MAKE) -C po/ clean
install:
$(MAKE) -C po/ install DESTDIR=$(DESTDIR)
dist:
$(MAKE) -C po/ pot
(Em um projeto com Autotools, isso aconteceria automaticamente simplesmente adicionando po ao valor
"SUBDIRS" em Makefile.am.)
Manutenção
Tradução de tempo de execução não é tão fácil, pois po4a-build no processo de adicionar uma nova tradução
requer edição do po/LINGUAS, mas, tirando essa questão, atualização de traduções é meramente uma questão
de substituir o arquivo PO relevante com sua nova versão.
Dependendo em como você prepara o seu tarball fonte, você pode também precisar listar os novos arquivos
PO no arquivo MANIFEST ou adicionar scripts que preparam o tarball. (que também se aplica a po4a-build.)
Quaisquer arquivos *.mo ou *.gmo em po/ podem ser excluídos / apagados.
Copyright
Enquanto os arquivos exemplos são parte do projeto po4a, você é livre para usá-los, modificá-los e
distribuí-los em seus próprios projetos sem precisar avisar o po4a ou listar a equipe do po4a no seu
aviso de direitos autorais, da mesma maneira que outras ferramentas de compilação, como o próprio
Autotools. Se você deseja mencionar o po4a, não tem problema.
AUTORES
Neil Williams <linux@codehelp.co.uk>
Ferramentas do Po4a 2017-08-26 PO4A-RUNTIME(7)