Provided by: po-debconf_1.0.16_all bug

NOME

       po-debconf - introdução

DESCRIÇÃO

       The goal of "debconf" was to make package configuration user-friendly.
       In order to achieve this, it is important to ensure that users will get
       the question in their own language.  Translators need a framework to
       easily work on translations without having to track package
       development; "po-debconf" was designed to be able to work with standard
       "gettext" tools when translating debconf templates files.

ACRESCENTAR SUPORTE DE I18N A FICHEIROS DE TEMPLATES DEBCONF

       Se está a acrescentar suporte a debconf ao seu pacote, você escreveu um
       ficheiro templates que contém o texto em Inglês.  Para acrescentar o
       devido suporte a i18n ao seu pacote, você tem de:

       - Criar debian/po/POTFILES.in
           Este ficheiro contém a lista de templates mestre. Normalmente
           contém uma única linha:

             [type: gettext/rfc822deb] templates

           Os caminhos são relativos ao directório pai.

       - Prepend an underscore before translatable fields in each template
           Normalmente podem ser traduzidos os campos "Description", "Choices"
           e às vezes "Default".

       - Correr o debconf-updatepo
           Isto irá criar o ficheiro debian/po/templates.pot que os tradutores
           irão traduzir para o seu idioma.

       - Acrescentar a dependência de compilação "po-debconf" em
       debian/control

ACTUALIZAR TEMPLATES

       In order to help translators, PO files in your package should always be
       up-to-date, otherwise they may waste their time translating unused
       strings.  For that, simply call the following command without
       arguments:

         $ debconf-updatepo

       Você deve correr este comando cada vez que mudar os templates em
       Inglês, mas também quando receber traduções novas ou actualizadas,
       porque os tradutores podem ter trabalhado num ficheiro PO obsoleto.

       Se renomear, acrescentar ou remover alguns ficheiros de templates,
       lembre-se também de editar debian/po/POTFILES.in de acordo, caso
       contrário ficarão a faltar as mensagens em Inglês dos ficheiros PO e
       serão mostradas aos utilizadores mesmo que os ficheiros PO estejam
       traduzidos na totalidade.

       The debconf-updatepo program is idempotent, it modifies PO files only
       if their content has been updated.  Thus the best way to provide up-to-
       date PO files in your source package is to call this command from the
       "clean" target of the debian/rules file.

       Por favor note que tem de correr debconf-updatepo mesmo se você
       utilizar dh_installdebconf.  O último chama o po2debconf o qual era
       utilizado para chamar o debconf-updatepo se fossem detectados ficheiros
       desactualizados, mas isto não é actualmente o caso porque não era uma
       boa solução devido a pelo menos duas razões:

       1. O po2debconf baseia-se em registos de tempo para detectar ficheiros
          desactualizados, e pode ser abusado ao utilizar o "pbuilder" ou se
          uma tradução desactualizada for guardada no disco após os templates
          terem sido modificados.

       2. O dh_installdebconf é chamado muito depois do ficheiro ".diff.gz"
          ter sido gerado

COMBINAR TRADUÇÕES E ORIGINAL

       Você tem de se assegurar que quando o seu pacote for compilado, as
       traduções irão ficar no pacote compilado. Você pode fazer isso
       manualmente, ou automaticamente utilizando o script dh_installdebconf
       (assegure-se que tem uma dependência de compilação com versão contra o
       "debhelper (>= 4.1.16)").

       Para o fazer manualmente, você tem de combinar os templates e as
       traduções durante a compilação (e tem de ter uma dependência de
       compilação contra o "po-debconf") como isto:

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

       TENHA CUIDADO: os dois ficheiros chamados templates não são o mesmo. O
       primeiro contém apenas o texto em Inglês, com marcas para denotar
       alguns campos a serem traduzidos enquanto que o segundo contém todos os
       idiomas.  Isto é para dizer que você NÃO PODE manter apenas os
       templates combinados, ou não será capaz de lidar com traduções que as
       pessoas lhe submeterem.

NOVOS TEMPLATES MESTRE

       O formato da fonte do novo ficheiro templates é idêntico a um dos
       ficheiros templates distribuidos, mas os campos a traduzir são
       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 configuração partilham um aspecto
          e funcionamento idênticos.  Você pode escolher o tipo de interface com o
          utilizador que utilizam.
          .
          O frontend dialog é uma interface de écran inteiro, baseada em caracter,
          enquanto que o frontend readline oferece uma interface de texto simples,
          mais tradicional, e o frontend gnome é uma interface X moderna. O
          frontend editor permite configurar as coisas pelo uso do seu editor de
          texto favorito. O frontend noninteractive não apresenta nenhuma questão.

   DIVIDIR A LISTA DE ESCOLHAS
       Since "po-debconf" 0.6.0, localized fields may contain two leading
       underscores.  In this case, the field value is supposed to be a comma
       separated list of values, which are put in separate msgids.  Thus if
       the previous example did contain

         __Choices: Dialog, Readline, Gnome, Editor, Noninteractive

       isto seriam 5 msgids diferentes.  Note que os espaços a seguir às
       vírgulas não são significativos.

       When a choices list never changes, "_Choices" may be considered fine.
       However, splitting such lists may help avoiding frequent mistakes in
       translations such as omitting a choice or using non-standard commas.
       For such reasons, the use of "__Choices" will ease translator’s life
       and is strongly recommended.

       Unfortunately if you decide to switch from "_Choices" to "__Choices",
       all translations become fuzzy.  Here is an explanation to make this
       change without translation loss (it requires "po-debconf" >= 1.0).
       Suppose that we want to switch the previous example to "__Choices".
       You copy the templates file into a temporary file.

         $ cp debian/templates debian/foo

       Edite debian/foo e mantenha apenas os campos "Template", "Type" e
       "_Choices", que estão 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 terá de remover foo e manualmente editar debian/templates
       para substituir "_Choices" por "__Choices" antes de debconf-updatepo
       ser corrido.

   PUTTING IN COMMENTS FOR TRANSLATORS
       "Dpkg" maintainers decided that by convention lines beginning with a
       number sign ("#") are comments in debian/control files, and
       "po-debconf" follows this rule.  Since "po-debconf" 0.8.0, such
       comments are written into PO files, and can then contain valuable
       information for translators.  Incidentally all previous "po-debconf"
       versions ignore lines which do not contain a colon, thus if your
       comments does not contain any colons, there is no need to add a
       versioned build dependency against "po-debconf".  Here is an example:

         Template: debconf/button-yes
         Type: text
         # Tradutores, este texto irá aparecer num botão, por isso mantenham-no CURTO!
         _Description: Yes

       No "po-debconf" 1.0 foram introduzidos comentários especiais para lidar
       com mensagens que são compostas por vários itens (como o campo Choices)
       ou parágrafos (como o Description). Com estas directivas, os developers
       têm um melhor controlo sobre o que é mostrados aos tradutores.  Estes
       estão na forma "#flag:directive"; as directivas estão detalhadas
       abaixo.

       translate:spec, translate!:spec
          Marcar apenas alguns itens como traduzíveis; spec é uma lista de
          números separada por vírgulas, especifica quais as mensagens serão
          escritas nos ficheiros PO.  As gamas também podem ser definidas
          através 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, Não o montar
            _Description: Ponto de montagem para esta partição:

          "Intoduzir manualmente" e "Não o montar" irá aparecer nos ficheiros
          PO mas não "/dos" and "/windows".  Quando o ponto de exclamação
          segue a palavra-chave translate, spec especifica quais as mensagens
          que serão descartadas dos ficheiros PO, todas as outras mensagens
          serão mostradas.  O exemplo anterior é similar a

            Template: partman-basicfilesystems/fat_mountpoint
            Type: select
            #flag:translate!:1,2
            __Choices: /dos, /windows, Introduza manualmente, Não o montar
            _Description: Ponto de montagem para esta partição:

          A mesma palavra-chave pode também ser aplicada ao campo Description
          para assegurar que algumas mensagens não serão traduzidas.

            Template: partman-crypto/options_missing
            Type: error
            #flag:translate!:3
            _Description: Faltam opções de encriptação necessárias
             As opções de encriptação para o dispositivo ${DEVICE} estão incompletas.
             Por favor volte ao menu da partição e escolha todas as opções necessárias.
             .
             ${ITEMS}

          Mas isto é perigoso porque o contexto pode ser eliminado dos
          ficheiros PO, neste caso por favor acrescente os comentários para
          que os tradutores não fiquem confusos.

       comment:spec, comment!:spec
          O comentário após esta directiva aplica-se às mensagens
          especificadas por spec, que é definida acima.  Por omissão, um
          comentário é escrito antes de um campo a traduzir e escrito
          juntamente com todas as mensagens que pertençam a este campo.
          (Nota: com o "po-debconf" < 1.0, o comentário era escrito apenas com
          a primeira mensagem)

          Template: arcboot-installer/prom-variables
            Type: note
            # Tradutores, a 4ª mensagem desta descrição foi largada
            # dos ficheiros PO.  Contém comandos da shell e não deve ser
            # traduzida.
            #flag:comment:3
            # "Stop for Maintenance" deve ser deixado em Inglês
            #flag:translate!:4
            _Description: Definir variáveis na PROM para Arcboot
             Se esta é a primeira instalação de Linux nesta máquina, ou se os
          discos
             rígidos foram reparticionados, têm de ser definidas algumas
          variáveis na
             PROM anes do sistema ser capaz de arrancar normalmente.
             .
             No fim desta etapa da instalação, o sistema irá reiniciar.
             Após isto, introduza o comando monitor a partir da opção "Stop
          for
             Maintenance", e introduza os seguintes comandos:
             .
                setenv OSLoader arcboot
                setenv OSLoadFilename Linux
             .
             Irá ter de fazer isto apenas uma vez.  Depois disso, introduza o
          comando
             "boot" ou reinicie o sistema para passar à próxima etapa da
          instalação.

          O exemplo acima tem um comentário sem a directiva "#flag:comment",
          onde é acrescentado um "#flag:comment:*" implícito.  Este comentário
          aparece com todas as mensagens, mas a que tem Stop for Maintenance é
          mostrada apenas antes da mensagem relevante.

       partial
          Esta palavra-chave diz ao po2debconf para manter as mensagens
          traduzidas mesmo que não estejam todas traduzidas.  Por favor
          utilize-a com cautela, esta palavra-chave foi introduzida para
          propósitos muito específicos.

   AVISAR OS TRADUTORES ANTES DE FAZER UM UPLOAD
       Normalmente os tradutores tomam conhecimento nas páginas web de estado
       (veja abaixo) que as traduções estão desactualizadas, e enviam patches
       que serão incluidos em futuros uploads.  Mas os developers são
       encorajados a pedir uma actualização aos maintainers de traduções
       desactualizadas antes dum upload, por exemplo com uma semana de
       antecedência.  Para este propósito foi escrita uma ferramenta dedicada,
       o podebconf-report-po.  Não hesite em abusar dela!

DEBUGGING

       You will find that debconf-loadtemplate will not accept a templates
       file with i18n markups.  However, it will accept a merged file, so if
       you have been debugging your debconf setup like this

         rm /tmp/{config,templates}.dat{,-old}
         debconf-loadtemplate debian/templates
         DEBIAN_PRIORITY=low debconf -freadline debian/config configure 28.0

       you will now need something like this instead:

         po2debconf debian/templates > debian/tmp/DEBIAN/templates
         rm /tmp/{config,templates}.dat{,-old}
         debconf-loadtemplate debian/tmp/DEBIAN/templates
         DEBIAN_PRIORITY=low debconf -freadline debian/config configure 28.0

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
         pré-definição o po2debconf escreve ficheiros templates nesse novo
         formato.  Versões mais antigas do "debconf" irão ignorar estes
         campos, mas é mostrado o texto em Inglês. Para saber como alterar a
         codificação e o formato de saída veja po2debconf(1).

       · A given English string may be given only one unique translation in a
         given language.  It is impossible to give two different translations,
         depending on the context.  To solve this issue, you have to add
         special markups to the different occurrences of a given string to
         make them different.  (These markers will only be visible to
         translators, and they will be removed from the string before being
         displayed to user)

         Tais marcadores têm de ser acrescentados no final das mensagens a
         traduzir, têm de começar por  "[ " (um parentesis recto esquerdo
         seguido de um espaço) e terminar com "]" (parentesis recto direito),
         e pode conter qualquer carácter excepto parentesis rectos ou novas
         linhas. Por exemplo "[ blahblah]" é um marcador válido enquanto que
         "[ bla[bla]bla]" não o é. Para viciados em expressões regulares de
         Perl, os marcadores são reconhecidos (e removidos) utilizando esta
         regra:

           $msg =~ s/\[\s[^\[\]]*\]$//s;

       · O espaçamento não é lidado exactamente da mesma forma pelo
         "po-debconf" e pelo "debconf-utils"; com o último, os parágrafos são
         reformatados ao actualizar e combinar traduções, por isso o
         "debconf-utils" é muito esperto e não considera os espaços como parte
         das mensagens ao determinar as entradas fuzzy. (i.e., as que
         necessitam a atenção do tradutor devido ao original ter sido
         alterado)

         Por outro lado o "po-debconf" baseia-se no "gettext" para detectar
         entradas fuzzy, e não trata os espaços como caracteres especiais.
         Por isso os espaços supérfluos têm de ser removidos do final das
         linhas nos ficheiros-mestre templates, ou irão aparecer nos ficheiros
         PO e POT.

         Pela mesma razão, o debconf-gettextize pode marcar o texto como fuzzy
         se os caracteres espaço não coincidirem, os tradutores terão 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 espaços nos
         ficheiros-mestre templates, o que será trabalhoso para os tradutores.

       · Normalmente o campo Default: não pode ser traduzido quando o tipo do
         template for Select ou Multiselect. Sob raras circunstâncias (e.g. ao
         escolher o idioma pré-definido para uma aplicação) os valores
         localizados podem ter significado.

         O valor localizado não deve ser traduzido, mas escolhido a partir de
         uma lista de valores em Inglês listados no campo Choices.  A melhor
         forma de alcançar esta meta é inserir um comentário no seu ficheiro
         templates o qual será copiado para os ficheiros PO.

           Template: geneweb/lang
           Type: select
           __Choices: Danish (da), Dutch (nl), English (en), Esperanto (eo)
           #  Você NÃO deve traduzir esta mensagem, mas pode mudar o seu valor.
           #  O comentário dentro de parentesis é utilizado para distinguir este msgid
           #  do que está na lista Choices; você não tem de se preocupar acerca deles,
           #  e tem apenas de escolher uma msgstr entre os valores em Inglês
           #  listados no campo Choices acima, e.g.  msgstr "Dutch (nl)"
           _Default: English (en)[ default language]
           _Description: Geneweb default language

         O valor pré-definido também aparece no campo Choices, e ambos têm
         traduções diferentes: a primeira é um valor por traduzir escolhido
         entre os valores de Choices, e a última é uma tradução normal.  Como
         o "gettext" não pode ter duas traduções diferentes no mesmo msgid,
         então ambos os msgids têm de ser diferentes utilizando para isso
         comentários em parentesis rectos conforme é descrito na secção
         anterior.

         Antes do "po-debconf" 0.8.0, não estavam disponíveis tais comentários
         e os maintainers tinham de substituir o campo _Default: por
         _DefaultChoice: de modo a destacar tais campos nos ficheiros PO:

           #. DefaultChoice
           msgid ""
           "English[ pré-definido: não traduzir o que está dentro de parentesis"
           "rectos, ponha aqui o seu idioma mas SEM TRADUZIR.  Se não estiver na"
           " lista, ponha English (sem o que está nos parentesis)]"
           msgstr ""
           "Portuguese"

         Comentários simples nos ficheiros templates são menos sujeitos a
         erros e são encorajados.

PÁGINAS WEB DE ESTADO

       As estatísticas para as traduções "po-debconf" estão disponíveis em
       <http://www.debian.org/intl/l10n/po-debconf/> (ou nos seus mirrors);
       estas são automaticamente actualizadas quando for feito o upload dos
       novos pacotes.  Apenas são 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
       endereço de mail pode ser encontrado no ficheiro PO) e/ou os seus
       companheiros de traduções em debian-l10n-<language>@lists.debian.org
       (se tal lista existir) para se assegurar que ninguém está a trabalhar
       nessa tradução ao mesmo tempo, e ler os relatórios de bug actuais do
       pacote que vai traduzir para ver se ja foi relatada uma tradução.

       Após 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 TAMBÉM

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

AUTORES

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

                                  2009-04-29                     PO-DEBCONF(7)