|
Extensões de arquivo |
.po |
|
Extensão de API |
gettext |
|
Importar |
Sim |
|
Exportar |
Sim |
|
Suporte para formas plurais |
Sim |
|
Suporte para descrição |
Sim |
|
Opções de formato Essas opções podem ser especificadas quando um arquivo é enviado e/ou baixado. Dependendo do método de upload/download (API, CLI, sincronização de repositório etc.), elas podem ser especificadas em parâmetros de consulta |
|
.PO (Objeto Portátil) é o formato de arquivo padrão para localização com GNU gettext, uma biblioteca GNU de código aberto projetada para simplificar o processo de localização. Com o GNU gettext, strings localizáveis são extraídas do código-fonte para um arquivo PO para tradução. Um arquivo .PO é uma série de pares chave-valor. A chave msgid é onde a string de origem é colocada, enquanto o valor msgstr é onde a tradução vai.
gettext extrai strings do código-fonte para um .POT (modelo de objeto portátil). Com base nos locais definidos, o gettext então converte o arquivo .POT em arquivos .PO específicos de local para upload em uma ferramenta CAT para tradução. Após a tradução, o gettext converte os arquivos .PO traduzidos em arquivos .MO (arquivos de objeto de máquina) que são eventualmente usados para localização.
.Os arquivos .PO são idênticos aos arquivos .POT, exceto que os arquivos .POT são geralmente usados pelo gettext para gerar arquivos .PO específicos de local. Traduzir um arquivo .POT diretamente e renomeá-lo de acordo com o local pretendido posteriormente não gera problemas. A frase suporta a tradução de:
-
.PO arquivos
-
Arquivos .PO bilíngues
-
Arquivos .MO legíveis por máquina
msgctxt será usado como prefixo da chave, combinado com msgid e separado por ||.
Opções de formato
|
Identificador |
msgid_as_default |
|
Tipo |
Boolean |
|
Upload |
true |
|
Baixar |
false |
|
Padrão |
false |
|
Descrição |
Toma o conteúdo da tradução do valor |
|
Identificador |
is_bilingual_file |
|
Tipo |
Boolean |
|
Upload |
true |
|
Baixar |
false |
|
Padrão |
false |
|
Descrição |
Tanto as traduções de origem quanto as de destino serão importadas do arquivo enviado: o conteúdo de origem será retirado do valor |
Amostra de código
msgid "" msgstr "" "Idioma: Inglês\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: PhraseApp (phraseapp.com)\n" msgid "boolean_key" msgstr "--- true\n" msgid "empty_string_translation" msgstr "" # Esta é a descrição incrível para esta chave! msgid "key_with_description" msgstr "Confira!" Esta chave tem uma descrição! (Pelo menos em alguns formatos)" msgid "key_with_line-break" msgstr "Esta tradução contém\na quebra de linha." msgid "nested.deeply.key" msgstr "Uau, esta chave está aninhada ainda mais fundo." msgid "nested.key" msgstr "Esta chave está aninhada dentro de um namespace." msgid "null_translation" msgstr "" msgid "pluralized_key" msgid_plural "" "Somente uma pluralização encontrada." "Uau, você tem %s pluralizações!" msgid "sample_collection" "---\n- primeiro item\n- segundo item\n- terceiro item\n" msgid "simple_key" "chave simples, mensagem simples, tão simples.2" #, correspondência parcial msgid "unverified_key" "Preciso de verificação, por favor, verifique-me!" (Em alguns formatos, também exportamos este estado)"
Entrada típica do gettext:
# descrição (Opcional) msgid "key-name" "Minha Tradução"
Cabeçalho do gettext
O cabeçalho de um arquivo gettext pode conter um nome de local e dados para formas plurais que são extraídos durante a importação:
msgid "" msgstr "" "Idioma: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: PhraseApp (phraseapp.com)\n"
Descrições
Comentários em um arquivo gettext são adicionados como descrições de chave durante a importação:
# Esta é minha descrição msgid "app_title" "Meu Projeto de Software"
Contexto
gettext usa a notação msgctxt para distinguir diferentes contextos para o mesmo msgid. Cada nome de chave deve ser único, então msgctxt é adicionado como a primeira parte do nome da chave, separado por dois símbolos de pipe ||:
msgctxt "menu" msgid "Abrir" msgstr "Eu sou uma tradução" msgctxt "forum" msgid "Abrir" msgstr "Eu sou outra tradução"
Para adicionar o msgctxt a uma nova chave, prependa-o ao nome da chave:
my_context||my_key_name
Saída resultante do gettext:
... msgctxt "my_context" msgid "my_key_name" ...
Formas plurais
gettext suporta formas plurais para uma tradução:
msgid "new_messages"
msgid_plural ""
msgstr[0] "Você tem uma nova mensagem"
msgstr[1] "Você tem %{count} novas mensagens"
Correspondência parcial
A palavra-chave correspondente parcial é usada para verificação de tradução. Correspondência parcial invoca automaticamente o processo de não verificação dentro do Phrase.
#, correspondência parcial msgid "app_title" "Meu Projeto de Software"