|
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.), eles podem ser especificados em parâmetros de consulta |
|
.PO (Portable Object) é 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, 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. Phrase suporta a tradução de:
-
.Arquivos .PO
-
Arquivos .PO bilíngues
-
Arquivos .MO legíveis por máquina
msgctxt será usado como prefixo de chave, combinado com msgid e separado por ||.
Opções de formato
|
Identificador |
msgid_as_default |
|
Tipo |
Booleano |
|
Upload |
true |
|
Baixar |
false |
|
Padrão |
false |
|
Descrição |
Toma o conteúdo da tradução do valor |
|
Identificador |
is_bilingual_file |
|
Tipo |
Booleano |
|
Upload |
true |
|
Baixar |
false |
|
Padrão |
false |
|
Descrição |
As traduções de origem e destino serão importadas do arquivo carregado: o conteúdo de origem será retirado do valor de |
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!" This key has a description! (At least in some formats)" 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 "" msgstr[0] "Apenas uma pluralização encontrada." msgstr[1] "Uau, você tem %s pluralizações!" msgid "sample_collection" msgstr "---\n- primeiro item\n- segundo item\n- terceiro item\n" msgid "simple_key" msgstr "chave simples, mensagem simples, tão simples." #, fuzzy msgid "unverified_key" msgstr "Eu preciso de verificação, por favor, verifique-me!" (In some formats we also export this status)"
Entrada típica do gettext:
# descrição (Opcional) msgid "key-name" msgstr "Minha Tradução"
Cabeçalho 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: en\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" msgstr "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 gettext resultante:
... msgctxt "my_context" msgid "my_key_name" ...
Formas plurais
gettext suporta formas plurais para uma tradução:
msgid "novas_mensagens"
msgid_plural ""
msgstr[0] "Você tem uma nova mensagem"
msgstr[1] "Você tem %{count} novas mensagens"
correspondência parcial
A palavra-chave fuzzy é usada para verificação de tradução. Fuzzy invoca automaticamente o processo de não verificação dentro do Phrase.
#, fuzzy msgid "app_title" msgstr "Meu Projeto de Software"