From Fedora Project Wiki

m (Fixed template)
(Texto inicial)
Line 7: Line 7:


== Conhecendo os Potfiles ==
== Conhecendo os Potfiles ==
=== O que são arquivos POT/PO? ===
=== O que são arquivos POT/PO/MO ===
Cada pacote possui um catálogo que representa as mensagens que são exibidas na sua interface. Os catálogos são arquivos compostos de pares de mensagens, formados por um texto original e o equivalente traduzido. Cada programa possui o seu próprio catálogo de mensagens por idioma, embora também existam casos em que programas relacionados compartilhem os seus catálogos de mensagens. Existem três formatos de catálogos, vejamos:
 
* PO - Que vem do acrônimo inglês "Portable Object" (Objeto Portável). É um arquivo de texto com a extensão ".po", que adota em seu conteúdo uma linguagem de marcação especial. É o formato que é editado e mantido pelos tradutores. O nome do arquivo deve referenciar o idioma de tradução que o arquivo trata, por exemplo, "pt_BR.po".
* MO - Que vem do acrônimo inglês "Machine Object" (Objeto Máquina). É um arquivo binário com a extensão ".mo", gerado a partir do arquivo PO e utilizado por um programa para internacionalizar sua interface com o usuário. O nome do arquivo costuma ser o nome do programa que o arquivo trata, por exemplo, "epiphany.mo".
* POT - Que vem do acrônimo inglês "Portable Object Template" (Modelo de Objeto Portável). Este arquivo é gerado pelo desenvolvedor da interface, servindo de modelo para que um tradutor, ou time de tradução. Ou seja, ele não é editado diretamente, mas usado para gerar um catálogo com formato PO no idioma desejado.
 
A realização da tradução é a simples ação de passar partes do catálogo de mensagens de um pacote para o português. As "partes" que devem ser traduzidas são explicadas na seção O que é traduzido nos arquivos .PO?
 
=== O que é traduzido nos arquivos .PO? ===
 
Apresentamos abaixo, o trecho de um arquivo PO. Note que o arquivo está apenas com a mensagem original, no campo msgid. Como trabalho de tradução, você deve interpretar a mensagem em inglês e colocá-la no português, no campo seguinte, chamado msgstr.
 
#: ../src/widgets/cria-slide-show.c:281
#, c-format
msgid "Error disabling xscreensaver: %s"
msgstr ""
 
Aqui a mensagem já foi interpretada e traduzida, mantendo a formatação original.
 
#: ../src/widgets/cria-slide-show.c:281
#, c-format
msgid "Error disabling xscreensaver: %s"
msgstr "Erro desabilitando xscreensaver: %s"
 
Sim, é realmente bem simples!
 
=== O que devo observar ao editar arquivos .PO ===
 
Antes de começar a traduzir, alguns detalhes nos arquivos .PO devem ser observados. Os arquivos PO possuem uma linguagem de marcação padronizada, cujo objetivo é traçar uma linguagem/protocolo comum de comunicação entre os tradutores, desenvolvedores e programas. Vejamos abaixo um exemplo do formato de um arquivo PO:
 
6901| # comentário simples
6902| #: ../nome_do_arquivo.c:001
6903| #| msgid "texto original anterior"
6904| msgid "texto original"
6905| msgstr "texto traduzido"
6906|
6907| #. comentário automático
6908| #: ../nome_do_arquivo.c:002
6909| msgid "texto original que"
6910| "pode ser quebrado em quantas"
6911| "linhas forem necessárias"
6912| msgstr "texto traduzido que"
6913| "pode ser quebrado em quantas"
6914| "linhas forem necessárias"
6915|
6916| #: ../nome_do_arquivo.c:003 ../nome_do_arquivo.c:004
6917| #, sinalizador, sinalizador
6918| msgid "texto original no singular"
6919| msgid_plural "texto original no plural"
6920| msgstr[0] "texto traduzido no singular"
6921| msgstr[1] "texto traduzido no plural"
6922|
6923| #~ msgid "texto original obsoleto"
6924| #~ msgstr "texto traduzido obsoleto"
 
Podemos notar, no exemplo citado, que:
 
# Todas as linhas iniciadas com msgid indicam o texto original e as linhas com msgstr indicam o texto traduzido por um tradutor.
# Ambas as linhas possuem textos que devem estar entre aspas.
# O texto poderá ser quebrado em diversas linhas, como nas diretivas (msgid/msgstr) exemplificadas pelas linhas 6909 e 6912.
# A linha iniciada com msgid_plural representa um texto original no plural que deverá ser traduzido em diretivas msgstr[n], onde n poderá ser um intervalo entre números inteiros de 0 até o número de possibilidades que o plural em seu idioma ofereça. Por exemplo, acima temos de 0 a 1, onde 0 é o singular e 1 é o plural. A quantidade de possibilidades que o plural no arquivo pode possuir deve ser definido no cabeçalho do arquivo.
# Todas as linhas iniciadas com tralha # são tratados como comentários, porém existe uma diferença entre eles, como descrito a seguir:
## # comentários gerados e mantidos pelo tradutor.
## #. comentários automáticos extraídos do código fonte, criados pelo desenvolvedor para auxiliar a tradução.
## #: local onde o texto é utilizado no(s) código(s) fonte.
## #, sinalizador(es).
## #| contém o texto original anterior.
## #~ texto(s) obsoleto(s).
 
Os comentários sinalizadores podem ser iguais a fuzzy (aproximada), muitas vezes são inseridos pelo desenvolvedor, quando alguma alteração no texto original ocorre, ou por um tradutor que não tem certeza da tradução atual. Este sinalizador além de indicar uma tradução errada ou incerta, indica que o texto sinalizado não constará no arquivo MO gerado a partir do catálogo PO.
 
Outros sinalizadores possíveis são os de formatação de linguagem de programação, por exemplo, c-format. Estes sinalizadores indicam que o texto deve respeitar a sintaxe da linguagem de programação indicada. Atualmente temos sinalizadores para c, java, python, perl, gcc, lisp, smalltalk, etc.
 
=== Quais programas usar para traduzir? ===
Você pode abrir/editar os catálogos de mensagens com qualquer editor de textos, como o Gedit, o Emacs ou o Vim, mas existem programas dedicados como Gtranslator, poEdit, KBabel e Pootling que apresentam uma série de vantagens e são fortemente indicados.
 
=== O que são entradas fuzzy? ===
=== O que são entradas fuzzy? ===
=== Qual aplicativo eu utilizo para traduzir arquivos PO? ===
=== Qual aplicativo eu utilizo para traduzir arquivos PO? ===
Line 26: Line 102:
==== Como enviar traduções utilizando o Transifex do Projeto Fedora? ====
==== Como enviar traduções utilizando o Transifex do Projeto Fedora? ====


Referência: http://br.gnome.org/bin/view/GNOMEBR/Traducao
----
----
[[Category:Localization]]
[[Category:Localization]]

Revision as of 02:56, 11 June 2008

Warning.png
Este documento ainda é um rascunho e não serve como referência

Como contribuir efetivamente com o Projeto de Tradução do Fedora

O time de Tradução para o Português do Brasil

Assine a lista de discussão sobre traduções

Conhecendo os Potfiles

O que são arquivos POT/PO/MO

Cada pacote possui um catálogo que representa as mensagens que são exibidas na sua interface. Os catálogos são arquivos compostos de pares de mensagens, formados por um texto original e o equivalente traduzido. Cada programa possui o seu próprio catálogo de mensagens por idioma, embora também existam casos em que programas relacionados compartilhem os seus catálogos de mensagens. Existem três formatos de catálogos, vejamos:

  • PO - Que vem do acrônimo inglês "Portable Object" (Objeto Portável). É um arquivo de texto com a extensão ".po", que adota em seu conteúdo uma linguagem de marcação especial. É o formato que é editado e mantido pelos tradutores. O nome do arquivo deve referenciar o idioma de tradução que o arquivo trata, por exemplo, "pt_BR.po".
  • MO - Que vem do acrônimo inglês "Machine Object" (Objeto Máquina). É um arquivo binário com a extensão ".mo", gerado a partir do arquivo PO e utilizado por um programa para internacionalizar sua interface com o usuário. O nome do arquivo costuma ser o nome do programa que o arquivo trata, por exemplo, "epiphany.mo".
  • POT - Que vem do acrônimo inglês "Portable Object Template" (Modelo de Objeto Portável). Este arquivo é gerado pelo desenvolvedor da interface, servindo de modelo para que um tradutor, ou time de tradução. Ou seja, ele não é editado diretamente, mas usado para gerar um catálogo com formato PO no idioma desejado.

A realização da tradução é a simples ação de passar partes do catálogo de mensagens de um pacote para o português. As "partes" que devem ser traduzidas são explicadas na seção O que é traduzido nos arquivos .PO?

O que é traduzido nos arquivos .PO?

Apresentamos abaixo, o trecho de um arquivo PO. Note que o arquivo está apenas com a mensagem original, no campo msgid. Como trabalho de tradução, você deve interpretar a mensagem em inglês e colocá-la no português, no campo seguinte, chamado msgstr.

#: ../src/widgets/cria-slide-show.c:281
#, c-format
msgid "Error disabling xscreensaver: %s"
msgstr ""

Aqui a mensagem já foi interpretada e traduzida, mantendo a formatação original.

#: ../src/widgets/cria-slide-show.c:281
#, c-format
msgid "Error disabling xscreensaver: %s"
msgstr "Erro desabilitando xscreensaver: %s"

Sim, é realmente bem simples!

O que devo observar ao editar arquivos .PO

Antes de começar a traduzir, alguns detalhes nos arquivos .PO devem ser observados. Os arquivos PO possuem uma linguagem de marcação padronizada, cujo objetivo é traçar uma linguagem/protocolo comum de comunicação entre os tradutores, desenvolvedores e programas. Vejamos abaixo um exemplo do formato de um arquivo PO:

6901| # comentário simples
6902| #: ../nome_do_arquivo.c:001
6903| #| msgid "texto original anterior"
6904| msgid "texto original"
6905| msgstr "texto traduzido"
6906|
6907| #. comentário automático
6908| #: ../nome_do_arquivo.c:002
6909| msgid "texto original que"
6910| "pode ser quebrado em quantas"
6911| "linhas forem necessárias"
6912| msgstr "texto traduzido que"
6913| "pode ser quebrado em quantas"
6914| "linhas forem necessárias"
6915|
6916| #: ../nome_do_arquivo.c:003 ../nome_do_arquivo.c:004
6917| #, sinalizador, sinalizador
6918| msgid "texto original no singular"
6919| msgid_plural "texto original no plural"
6920| msgstr[0] "texto traduzido no singular"
6921| msgstr[1] "texto traduzido no plural"
6922|
6923| #~ msgid "texto original obsoleto"
6924| #~ msgstr "texto traduzido obsoleto"

Podemos notar, no exemplo citado, que:

  1. Todas as linhas iniciadas com msgid indicam o texto original e as linhas com msgstr indicam o texto traduzido por um tradutor.
  2. Ambas as linhas possuem textos que devem estar entre aspas.
  3. O texto poderá ser quebrado em diversas linhas, como nas diretivas (msgid/msgstr) exemplificadas pelas linhas 6909 e 6912.
  4. A linha iniciada com msgid_plural representa um texto original no plural que deverá ser traduzido em diretivas msgstr[n], onde n poderá ser um intervalo entre números inteiros de 0 até o número de possibilidades que o plural em seu idioma ofereça. Por exemplo, acima temos de 0 a 1, onde 0 é o singular e 1 é o plural. A quantidade de possibilidades que o plural no arquivo pode possuir deve ser definido no cabeçalho do arquivo.
  5. Todas as linhas iniciadas com tralha # são tratados como comentários, porém existe uma diferença entre eles, como descrito a seguir:
    1. # comentários gerados e mantidos pelo tradutor.
    2. #. comentários automáticos extraídos do código fonte, criados pelo desenvolvedor para auxiliar a tradução.
    3. #: local onde o texto é utilizado no(s) código(s) fonte.
    4. #, sinalizador(es).
    5. #| contém o texto original anterior.
    6. #~ texto(s) obsoleto(s).

Os comentários sinalizadores podem ser iguais a fuzzy (aproximada), muitas vezes são inseridos pelo desenvolvedor, quando alguma alteração no texto original ocorre, ou por um tradutor que não tem certeza da tradução atual. Este sinalizador além de indicar uma tradução errada ou incerta, indica que o texto sinalizado não constará no arquivo MO gerado a partir do catálogo PO.

Outros sinalizadores possíveis são os de formatação de linguagem de programação, por exemplo, c-format. Estes sinalizadores indicam que o texto deve respeitar a sintaxe da linguagem de programação indicada. Atualmente temos sinalizadores para c, java, python, perl, gcc, lisp, smalltalk, etc.

Quais programas usar para traduzir?

Você pode abrir/editar os catálogos de mensagens com qualquer editor de textos, como o Gedit, o Emacs ou o Vim, mas existem programas dedicados como Gtranslator, poEdit, KBabel e Pootling que apresentam uma série de vantagens e são fortemente indicados.

O que são entradas fuzzy?

Qual aplicativo eu utilizo para traduzir arquivos PO?

O que é o Vocabulário Padrão (VP)?

Como utilizar o VP?

Como posso testar as minhas traduções?

Onde obter os arquivos POT/PO do Projeto Fedora?

O que é o Damned Lies (DL)?

Como funciona o sistema de estatísticas de traduções?

Como enviar minhas traduções para o Projeto Fedora?

Por que preciso de uma conta no Sistema de Contas do Fedora (FAS)?

Como criar minha conta?

O que é o CLA?

Como posso ter acesso aos recursos fornecidos aos tradutores do Fedora?

O que é o Transifex (Tx)?

Como enviar traduções utilizando o Transifex do Projeto Fedora?

Referência: http://br.gnome.org/bin/view/GNOMEBR/Traducao