NOME
debconf-gettextize − extrair traduções de templates debconf para ficheiros PO
SINOPSE
debconf-gettextize [−v] [−h] [−−podir= DIR ] [−−choices] [−−merge] master [master ...]
DESCRIÇÃO
Os ficheiros /var/lib/dpkg/info/*.templates lidos pelo debconf contêm texto em Inglês e traduções no mesmo ficheiro. Mas nos pacotes fonte, as traduções são geridas em ficheiros separados para ajudar os tradutores. Na implementação inicial, um ficheiro mestre templates continha apenas o texto em Inglês, e os ficheiros templates.xx continham as mensagens originais e as mensagens traduzidas para o idioma xx. O programa debconf-mergetemplate juntava os ficheiros mestre e traduzidos.
A nova implementação com "po−debconf" é baseada em "gettext". Os maintainers marcam os campos a traduzir acrescentando no seu inicio um underscore, as mensagens em Inglês são automaticamente extraídas para um ficheiro POT, os tradutores trabalham em ficheiros PO normais, e o po2debconf gera um ficheiro combinado de templates com a mesma estrutura.
O programa debconf-gettextize foi desenvolvido inicialmente para ajudar a migrar para a nova implementação.
• |
Lê uma lista de ficheiros mestre e as suas traduções associadas, e gera ficheiros po/*.po para cada idioma contendo as mensagens traduzidas. | ||
• |
Cada ficheiro de entrada recebe um sufixo ".old", e um novo ficheiro mestre sobrescreve o antigo; é idêntico ao ficheiro mestre anterior excepto que acrescentado no inicio um underscore aos campos a traduzir. Os developers podem então escolher quais os campos em que os tradutores têm de trabalhar e quais são evitados porque os seus valores não dependem de definições locais. | ||
• |
Também é criado um ficheiro po/POTFILES.in, que contém a lista de ficheiros templates que o debconf-updatepo tem de processar. |
Normalmente o programa debconf-gettextize tem de ser executado apenas uma vez quando se transforma da primeira implementação para o formato "po−debconf", mas também pode ser utilizado posteriormente para transformar um campo "_Choices" em "__Choices" (ou vice-versa) sem perder traduções, quando utilizar a flag "−−merge" (juntamente com "−−choices", ou não). O template desejado que contém os campos "_Choices" ou "__Choices" a modificar tem de ser copiado para um ficheiro template temporário, que é passado, como argumento, ao debconf-gettextize . De seguida são executados os seguintes passos:
1. |
O po2debconf é executado neste ficheiro template para gerar um ficheiro templates traduzido. | ||
2. |
O ficheiro templates traduzido é processado conforme é descrito acima e são gerados os ficheiros PO. | ||
3. |
Os ficheiros PO acabados de criar são combinados com os existentes. |
Quando os ficheiros PO são combinados, os campos "_Choices" têm de ser substituídos por "__Choices" (ou vice-versa) no ficheiro templates original antes de executar debconf-updatepo, caso contrário as novas traduções serão marcadas como ’fuzzy’.
OPÇÕES
−h, −−help
Mostrar um sumário de utilização para o programa e sair.
−v, −−verbose
Processar em modo detalhado.
−−podir= DIR
Definir o directório para os ficheiros PO. O pré−definido é procurar ficheiros PO no sub−directório po por baixo da localização do primeiro ficheiro mestre.
−−choices
Por omissão, o debconf-gettextize substitui os campos "Choices" por "_Choices". Com esta opção são sobrescritos, em vez disso, os campos "__Choices".
−−merge
Quando for esta opção for definida, as mensagens são combinadas com os ficheiros PO existentes. Os ficheiros templates e po/POTFILES.in não são modificados.
AVISOS
O campo "Default" é especial quando o tipo de template for "Select" ou "Multiselect", porque tem de ser escolhido um valor entre a lista de escolhas em Inglês, mesmo para valores traduzidos. Normalmente este campo não pode ser alterado, mas em raras circunstâncias os valores traduzidos fazem sentido (e.g. escolher o idioma de uma aplicação). De modo a deixar os tradutores saberem que este campo traduzido "Default" é especial, você tem de, por convenção, chama-lo de "_DefaultChoice" em vez de "_Default".
VEJA TAMBÉM
debconf−updatepo(1), po2debconf(1), debconf−devel(7), po−debconf(7).
AUTORES
Denis Barbier <barbier [AT] linuxfr.org> Martin Quinson <martin.quinson@ens−lyon.fr>