po-debconf

Autres langues

Langue: pt

Autres versions - même langue

Version: 2008-10-24 (ubuntu - 08/07/09)

Section: 7 (Divers)

NOME

po-debconf - introduA~XA~Xo

DESCRIA~XA~XO

O objectivo do "debconf" era tornar a configuraA~XA~Xo do pacote amiga do utilizador. De modo a alcanA~Xar isto, A~X importante assegurar que os utilizadores irA~Xo obter a questA~Xo no seu idioma. Os tradutores necessitam de um mecanismo para facilmente trabalharem nas traduA~XA~Xes sem terem de perseguir o desenvolvimento do pacote; O "po-debconf" foi desenhado para ser capaz de trabalhar com ferramentas "gettext" standard ao traduzir ficheiros de templates debconf.

ACRESCENTAR SUPORTE DE I18N A FICHEIROS DE TEMPLATES DEBCONF

Se estA~X a acrescentar suporte a debconf ao seu pacote, vocA~X escreveu um ficheiro templates que contA~Xm o texto em InglA~Xs. Para acrescentar o devido suporte a i18n ao seu pacote, vocA~X tem de:
- Criar debian/po/POTFILES.in
Este ficheiro contA~Xm a lista de templates mestre. Normalmente contA~Xm uma A~Xnica linha:
   [type: gettext/rfc822deb] templates
 
 

Os caminhos sA~Xo relativos ao directA~Xrio pai.

- Acrescentar um underscore antes dos campos a traduzir
Normalmente podem ser traduzidos os campos "Description", "Choices" e A~ s vezes "Default".
- Correr o debconf-updatepo
Isto irA~X criar o ficheiro debian/po/templates.pot que os tradutores irA~Xo traduzir para o seu idioma.
- Acrescentar a dependA~Xncia de compilaA~XA~Xo "po-debconf" em debian/control
 

ACTUALIZAR TEMPLATES

De modo a ajudar os tradutores, os ficheiros PO no seu pacote devem estar sempre actualizados, caso contrA~Xrio eles podem perder o seu tempo a actualiza-lo com mensagens nA~Xo utilizadas. Para isso, simplesmente chame o seguinte comando sem argumentos:
   $ debconf-updatepo
 
 

VocA~X deve correr este comando cada vez que mudar os templates em InglA~Xs, mas tambA~Xm quando receber traduA~XA~Xes novas ou actualizadas, porque os tradutores podem ter trabalhado num ficheiro PO obsoleto.

Se renomear, acrescentar ou remover alguns ficheiros de templates, lembre-se tambA~Xm de editar debian/po/POTFILES.in de acordo, caso contrA~Xrio ficarA~Xo a faltar as mensagens em InglA~Xs dos ficheiros PO e serA~Xo mostradas aos utilizadores mesmo que os ficheiros PO estejam traduzidos na totalidade.

O programa debconf-updatepo A~X idempotente, modifica apenas os ficheiros PO se o seu conteA~Xdo foi actualizado. Por isso A~X a melhor soluA~XA~Xo para fornecer ficheiros PO actualizados no seu pacote-fonte A~X chamar este comando a partir do alvo "clean" do ficheiro debian/rules.

Por favor note que tem de correr debconf-updatepo mesmo se vocA~X utilizar dh_installdebconf. O A~Xltimo chama o po2debconf o qual era utilizado para chamar o debconf-updatepo se fossem detectados ficheiros desactualizados, mas isto nA~Xo A~X actualmente o caso porque nA~Xo era uma boa soluA~XA~Xo devido a pelo menos duas razA~Xes:

1.
O po2debconf baseia-se em registos de tempo para detectar ficheiros desactualizados, e pode ser abusado ao utilizar o "pbuilder" ou se uma traduA~XA~Xo desactualizada for guardada no disco apA~Xs os templates terem sido modificados.
2.
O dh_installdebconf A~X chamado muito depois do ficheiro ".diff.gz" ter sido gerado

COMBINAR TRADUA~XA~XES E ORIGINAL

VocA~X tem de se assegurar que quando o seu pacote for compilado, as traduA~XA~Xes irA~Xo ficar no pacote compilado. VocA~X pode fazer isso manualmente, ou automaticamente utilizando o script dh_installdebconf (assegure-se que tem uma dependA~Xncia de compilaA~XA~Xo com versA~Xo contra o "debhelper (>= 4.1.16)").

Para o fazer manualmente, vocA~X tem de combinar os templates e as traduA~XA~Xes durante a compilaA~XA~Xo (e tem de ter uma dependA~Xncia de compilaA~XA~Xo contra o "po-debconf") como isto:

   $ po2debconf debian/templates > debian/tmp/DEBIAN/templates
 
 

TENHA CUIDADO: os dois ficheiros chamados templates nA~Xo sA~Xo o mesmo. O primeiro contA~Xm apenas o texto em InglA~Xs, com marcas para denotar alguns campos a serem traduzidos enquanto que o segundo contA~Xm todos os idiomas. Isto A~X para dizer que vocA~X NA~XO PODE manter apenas os templates combinados, ou nA~Xo serA~X capaz de lidar com traduA~XA~Xes que as pessoas lhe submeterem.

NOVOS TEMPLATES MESTRE

O formato da fonte do novo ficheiro templates A~X idA~Xntico a um dos ficheiros templates distribuidos, mas os campos a traduzir sA~Xo precedidos com um underscore. Exemplo:
   Template: debconf/frontend
   Type: select
   _Choices: Dialog, Readline, Gnome, Editor, Noninteractive
   Default: Dialog
   _Description: Interface a utilizar com os pacotes a configurar:
    Os pacotes que utilizam debconf para a configuraA~XA~Xo partilham um aspecto
    e funcionamento idA~Xnticos.  VocA~X pode escolher o tipo de interface com o
    utilizador que utilizam.
    .
    O frontend dialog A~X uma interface de A~Xcran inteiro, baseada em caracter,
    enquanto que o frontend readline oferece uma interface de texto simples,
    mais tradicional, e o frontend gnome A~X uma interface X moderna. O 
    frontend editor permite configurar as coisas pelo uso do seu editor de 
    texto favorito. O frontend noninteractive nA~Xo apresenta nenhuma questA~Xo.
 
 

DIVIDIR A LISTA DE ESCOLHAS

Desde o "po-debconf" 0.6.0, os campos localizados podem conter dois underscores no inicio. Neste caso, o valor do campo A~X suposto ser uma vA~rgula separada por uma lista de valores, que sA~Xo postos em msgids diferentes. Por isso se o exemplo anterior contivesse

   __Choices: Dialog, Readline, Gnome, Editor, Noninteractive
 
 

isto seriam 5 msgids diferentes. Note que os espaA~Xos a seguir A~ s vA~rgulas nA~Xo sA~Xo significativos.

Basicamente quando a lista de escolhas nunca muda, o "_Choices" nA~Xo tem problemas, mas caso aconteA~Xa o contrA~Xrio "__Choices" irA~X facilitar a vida ao tradutor.

Infelizmente se decidir mudar entre essas duas formas, todas as traduA~XA~Xes serA~Xo marcadas como fuzzy. Aqui estA~X uma explicaA~XA~Xo para tornar esta alteraA~XA~Xo sem perda de traduA~XA~Xes (necessita do "po-debconf" >= 1.0). Suponha que queremos mudar o exemplo anterior para "__Choices". VocA~X copia o ficheiro templates para um ficheiro temporA~Xrio.

   $ cp debian/templates debian/foo
 
 

Edite debian/foo e mantenha apenas os campos "Template", "Type" e "_Choices", que estA~Xo neste exemplo

   Template: debconf/frontend
   Type: select
   _Choices: Dialog, Readline, Gnome, Kde, Editor, Noninteractive
 
 

Para compilar os ficheiros PO como se "__Choices" fosse escrito corra debconf-gettextize com as flags "--merge" e "--choices" , e combine esses ficheiros PO com os existentes:

   $ debconf-gettextize --merge --choices debian/foo
 
 

Eventualmente terA~X de remover foo e manualmente editar debian/templates para substituir "_Choices" por "__Choices" antes de debconf-updatepo ser corrido.

COLOCAR COMENTA~XRIOS PARA OS TRADUTORES

Os maintainers do "Dpkg" decidiram que por convenA~XA~Xo as linhas que comeA~Xam por um cardinal ("#") sA~Xo comentA~Xrios nos ficheiros debian/control, e o "po-debconf" segue esta regra. Desde o "po-debconf" 0.8.0, tais comentA~Xrios sA~Xo escritos nos ficheiros PO, e podem conter informaA~XA~Xes valiosas para os tradutores. Incidentalmente todas as versA~Xes anteriores do "po-debconf" ignoram linhas que nA~Xo contenham o sinal de dois pontos, por isso se os seus comentA~Xrios nA~Xo contA~Xm qualquer sinal de dois pontos, nA~Xo A~X necessA~Xrio acrescentar uma dependA~Xncia de compilaA~XA~Xo com versA~Xo contra o "po-debconf". Aqui estA~X um exemplo:

   Template: debconf/button-yes
   Type: text
   # Tradutores, este texto irA~X aparecer num botA~Xo, por isso mantenham-no CURTO!
   _Description: Yes
 
 

No "po-debconf" 1.0 foram introduzidos comentA~Xrios especiais para lidar com mensagens que sA~Xo compostas por vA~Xrios itens (como o campo Choices) ou parA~Xgrafos (como o Description). Com estas directivas, os developers tA~Xm um melhor controlo sobre o que A~X mostrados aos tradutores. Estes estA~Xo na forma "#flag:directive"; as directivas estA~Xo detalhadas abaixo.

translate:spec, translate!:spec
Marcar apenas alguns itens como traduzA~veis; spec A~X uma lista de nA~Xmeros separada por vA~rgulas, especifica quais as mensagens serA~Xo escritas nos ficheiros PO. As gamas tambA~Xm podem ser definidas atravA~Xs de um sinal de menos (por exemplo "2-6"), e um asterisco ("*") significa todas as mensagens. Por exemplo, com
   Template: partman-basicfilesystems/fat_mountpoint
   Type: select
   #flag:translate:3,4
   __Choices: /dos, /windows, Introduzir manualmente, NA~Xo o montar
   _Description: Ponto de montagem para esta partiA~XA~Xo:
 
 

"Intoduzir manualmente" e "NA~Xo o montar" irA~X aparecer nos ficheiros PO mas nA~Xo "/dos" and "/windows". Quando o ponto de exclamaA~XA~Xo segue a palavra-chave translate, spec especifica quais as mensagens que serA~Xo descartadas dos ficheiros PO, todas as outras mensagens serA~Xo mostradas. O exemplo anterior A~X similar a

   Template: partman-basicfilesystems/fat_mountpoint
   Type: select
   #flag:translate!:1,2
   __Choices: /dos, /windows, Introduza manualmente, NA~Xo o montar
   _Description: Ponto de montagem para esta partiA~XA~Xo:
 
 

A mesma palavra-chave pode tambA~Xm ser aplicada ao campo Description para assegurar que algumas mensagens nA~Xo serA~Xo traduzidas.

   Template: partman-crypto/options_missing
   Type: error
   #flag:translate!:3
   _Description: Faltam opA~XA~Xes de encriptaA~XA~Xo necessA~Xrias
    As opA~XA~Xes de encriptaA~XA~Xo para o dispositivo ${DEVICE} estA~Xo incompletas.
    Por favor volte ao menu da partiA~XA~Xo e escolha todas as opA~XA~Xes necessA~Xrias.
    .
    ${ITEMS}
 
 

Mas isto A~X perigoso porque o contexto pode ser eliminado dos ficheiros PO, neste caso por favor acrescente os comentA~Xrios para que os tradutores nA~Xo fiquem confusos.

comment:spec, comment!:spec
O comentA~Xrio apA~Xs esta directiva aplica-se A~ s mensagens especificadas por spec, que A~X definida acima. Por omissA~Xo, um comentA~Xrio A~X escrito antes de um campo a traduzir e escrito juntamente com todas as mensagens que pertenA~Xam a este campo. (Nota: com o "po-debconf" < 1.0, o comentA~Xrio era escrito apenas com a primeira mensagem)

Template: arcboot-installer/prom-variables
  Type: note
  # Tradutores, a 4AX mensagem desta descriA~XA~Xo foi largada
  # dos ficheiros PO.  ContA~Xm comandos da shell e nA~Xo deve ser
  # traduzida.
  #flag:comment:3
  # ``Stop for Maintenance'' deve ser deixado em InglA~Xs
  #flag:translate!:4
  _Description: Definir variA~Xveis na PROM para Arcboot
   Se esta A~X a primeira instalaA~XA~Xo de Linux nesta mA~Xquina, ou se os discos
   rA~gidos foram reparticionados, tA~Xm de ser definidas algumas variA~Xveis na
   PROM anes do sistema ser capaz de arrancar normalmente.
   .
   No fim desta etapa da instalaA~XA~Xo, o sistema irA~X reiniciar.
   ApA~Xs isto, introduza o comando monitor a partir da opA~XA~Xo ``Stop for
   Maintenance'', e introduza os seguintes comandos:
   .
      setenv OSLoader arcboot
      setenv OSLoadFilename Linux
   .
   IrA~X ter de fazer isto apenas uma vez.  Depois disso, introduza o comando
   ``boot'' ou reinicie o sistema para passar A~  prA~Xxima etapa da instalaA~XA~Xo.

O exemplo acima tem um comentA~Xrio sem a directiva "#flag:comment", onde A~X acrescentado um "#flag:comment:*" implA~cito. Este comentA~Xrio aparece com todas as mensagens, mas a que tem Stop for Maintenance A~X mostrada apenas antes da mensagem relevante.

partial
Esta palavra-chave diz ao po2debconf para manter as mensagens traduzidas mesmo que nA~Xo estejam todas traduzidas. Por favor utilize-a com cautela, esta palavra-chave foi introduzida para propA~Xsitos muito especA~ficos.

AVISAR OS TRADUTORES ANTES DE FAZER UM UPLOAD

Normalmente os tradutores tomam conhecimento nas pA~Xginas web de estado (veja abaixo) que as traduA~XA~Xes estA~Xo desactualizadas, e enviam patches que serA~Xo incluidos em futuros uploads. Mas os developers sA~Xo encorajados a pedir uma actualizaA~XA~Xo aos maintainers de traduA~XA~Xes desactualizadas antes dum upload, por exemplo com uma semana de antecedA~Xncia. Para este propA~Xsito foi escrita uma ferramenta dedicada, o podebconf-report-po. NA~Xo hesite em abusar dela!

AVISOS

O "Debconf" 1.2.0 reconhece campos na forma Name-lang.encoding, e.g. "Description-de.ISO-8859-1" ou "Choices-ru.KOI8-R". Por prA~X-definiA~XA~Xo o po2debconf escreve ficheiros templates nesse novo formato. VersA~Xes mais antigas do "debconf" irA~Xo ignorar estes campos, mas A~X mostrado o texto em InglA~Xs. Para saber como alterar a codificaA~XA~Xo e o formato de saA~da veja po2debconf(1).
Uma dada mensagem em InglA~Xs apenas pode ter uma A~Xnica traduA~XA~Xo num dado idioma. A~X impossA~vel dar duas traduA~XA~Xes diferentes, dependendo do contexto. Para resolver este problema, vocA~X tem de acrescentar marcas especiais para as diferentes ocorrA~Xncias de uma dada mensagem para as tornar diferentes. (Estas marcaA~XA~Xes apenas serA~Xo visA~veis aos tradutores, e serA~Xo removidas da mensagem antes de ser mostrada ao utilizador)

Tais marcadores tA~Xm de ser acrescentados no final das mensagens a traduzir, tA~Xm de comeA~Xar por "[ " (um parentesis recto esquerdo seguido de um espaA~Xo) e terminar com "]" (parentesis recto direito), e pode conter qualquer carA~Xcter excepto parentesis rectos ou novas linhas. Por exemplo "[ blahblah]" A~X um marcador vA~Xlido enquanto que "[ bla[bla]bla]" nA~Xo o A~X. Para viciados em expressA~Xes regulares de Perl, os marcadores sA~Xo reconhecidos (e removidos) utilizando esta regra:

   $msg =~ s/\[\s[^\[\]]*\]$//s;
 
 
O espaA~Xamento nA~Xo A~X lidado exactamente da mesma forma pelo "po-debconf" e pelo "debconf-utils"; com o A~Xltimo, os parA~Xgrafos sA~Xo reformatados ao actualizar e combinar traduA~XA~Xes, por isso o "debconf-utils" A~X muito esperto e nA~Xo considera os espaA~Xos como parte das mensagens ao determinar as entradas fuzzy. (i.e., as que necessitam a atenA~XA~Xo do tradutor devido ao original ter sido alterado)

Por outro lado o "po-debconf" baseia-se no "gettext" para detectar entradas fuzzy, e nA~Xo trata os espaA~Xos como caracteres especiais. Por isso os espaA~Xos supA~Xrfluos tA~Xm de ser removidos do final das linhas nos ficheiros-mestre templates, ou irA~Xo aparecer nos ficheiros PO e POT.

Pela mesma razA~Xo, o debconf-gettextize pode marcar o texto como fuzzy se os caracteres espaA~Xo nA~Xo coincidirem, os tradutores terA~Xo de manualmente eliminar os fuzzys de tais mensagens. Isto apenas acontece uma vez ao converter os templates para o formato "po-debconf", a menos que altere aleatoriamente os espaA~Xos nos ficheiros-mestre templates, o que serA~X trabalhoso para os tradutores.

Normalmente o campo Default: nA~Xo pode ser traduzido quando o tipo do template for Select ou Multiselect. Sob raras circunstA~Xncias (e.g. ao escolher o idioma prA~X-definido para uma aplicaA~XA~Xo) os valores localizados podem ter significado.

O valor localizado nA~Xo deve ser traduzido, mas escolhido a partir de uma lista de valores em InglA~Xs listados no campo Choices. A melhor forma de alcanA~Xar esta meta A~X inserir um comentA~Xrio no seu ficheiro templates o qual serA~X copiado para os ficheiros PO.

   Template: geneweb/lang
   Type: select
   __Choices: Danish (da), Dutch (nl), English (en), Esperanto (eo)
   #  VocA~X NA~XO deve traduzir esta mensagem, mas pode mudar o seu valor.
   #  O comentA~Xrio dentro de parentesis A~X utilizado para distinguir este msgid
   #  do que estA~X na lista Choices; vocA~X nA~Xo tem de se preocupar acerca deles,
   #  e tem apenas de escolher uma msgstr entre os valores em InglA~Xs
   #  listados no campo Choices acima, e.g.  msgstr "Dutch (nl)"
   _Default: English (en)[ default language]
   _Description: Geneweb default language
 
 

O valor prA~X-definido tambA~Xm aparece no campo Choices, e ambos tA~Xm traduA~XA~Xes diferentes: a primeira A~X um valor por traduzir escolhido entre os valores de Choices, e a A~Xltima A~X uma traduA~XA~Xo normal. Como o "gettext" nA~Xo pode ter duas traduA~XA~Xes diferentes no mesmo msgid, entA~Xo ambos os msgids tA~Xm de ser diferentes utilizando para isso comentA~Xrios em parentesis rectos conforme A~X descrito na secA~XA~Xo anterior.

Antes do "po-debconf" 0.8.0, nA~Xo estavam disponA~veis tais comentA~Xrios e os maintainers tinham de substituir o campo _Default: por _DefaultChoice: de modo a destacar tais campos nos ficheiros PO:

   #. DefaultChoice
   msgid ""
   "English[ prA~X-definido: nA~Xo traduzir o que estA~X dentro de parentesis"
   "rectos, ponha aqui o seu idioma mas SEM TRADUZIR.  Se nA~Xo estiver na"
   " lista, ponha English (sem o que estA~X nos parentesis)]"
   msgstr ""
   "Portuguese"
 
 

ComentA~Xrios simples nos ficheiros templates sA~Xo menos sujeitos a erros e sA~Xo encorajados.

PA~XGINAS WEB DE ESTADO

As estatA~sticas para as traduA~XA~Xes "po-debconf" estA~Xo disponA~veis em <http://www.debian.org/intl/l10n/po-debconf/> (ou nos seus mirrors); estas sA~Xo automaticamente actualizadas quando for feito o upload dos novos pacotes. Apenas sA~Xo considerados os pacotes que contenham debian/po/templates.pot e debian/po/POTFILES.in, por isso deve assegurar-se que o seu pacote com a fonte o disponibiliza.

Os tradutores podem obter os ficheiros PO e POT a partir daqui, mas eles devem sempre entrar em contacto com o tradutor anterior (o seu endereA~Xo de mail pode ser encontrado no ficheiro PO) e/ou os seus companheiros de traduA~XA~Xes em debian-l10n-<language>@lists.debian.org (se tal lista existir) para se assegurar que ninguA~Xm estA~X a trabalhar nessa traduA~XA~Xo ao mesmo tempo, e ler os relatA~Xrios de bug actuais do pacote que vai traduzir para ver se ja foi relatada uma traduA~XA~Xo.

ApA~Xs traduzir estes ficheiros, eles devem submeter o seu trabalho ao maintainer como um relato de bug de severidade wishlist e com o tag patch.

VEJA TAMBA~XM

debconf-gettextize(1), debconf-updatepo(1), dh_installdebconf(1), podebconf-report-po(1). po2debconf(1).

AUTORES

   Martin Quinson <Martin.Quinson@ens-lyon.fr>
   Denis Barbier <barbier@linuxfr.org>