|
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 Estas opções que 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 |
|
.OS (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, as Strings localizáveis são extraídas do texto original para um arquivo OS para tradução. Um arquivo .OS é uma série de pares de chave-valor. A chave msgid é onde a string do texto original é colocada, enquanto o valor msgstr é onde a tradução vai.
o gettext extrai Strings do texto original para um .POT (modelo de objeto portátil). Com base nos locais definidos, o gettext converte o arquivo .POT em arquivos .OS específicos do local para upload para uma ferramenta CAT para tradução. Após a tradução, o gettext converte os arquivos .OS traduzidos em arquivos .MO (arquivos de objeto de máquina) eventualmente usados para localização.
Arquivos .OS são idênticos aos arquivos .POT, exceto que os arquivos .POT são geralmente usados pelo gettext para gerar arquivos .OS específicos do local. Traduzir um arquivo .POT diretamente e renomeá-lo de acordo com o local pretendido posteriormente não gera problemas. O Phrase oferece suporte à tradução de:
-
Arquivos .OS
-
Arquivos .OS 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 |
Booleano |
|
Upload |
true |
|
Baixar |
false |
|
Padrão |
false |
|
Descrição |
Pega o conteúdo da tradução do valor |
|
Identificador |
is_bilingual_file |
|
Tipo |
Booleano |
|
Upload |
true |
|
Baixar |
false |
|
Padrão |
false |
|
Descrição |
Tanto o texto original quanto a tradução serão importados do arquivo enviado: o conteúdo do texto original será obtido do valor |
Amostra de código
msgid "" msgstr "" "Language: Portuguese\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 "This translations contains\na line-break." msgid "nested.deeply.key" msgstr "Wow, this key is nested even deeper." msgid "nested.key" msgstr "This key is nested inside a namespace." msgid "null_translation" msgstr "" msgid "pluralized_key" msgid_plural "" msgstr[0] "Only one pluralization found." msgstr[1] "Wow, you have %s pluralizations!" msgid "sample_collection" msgstr "---\n- first item\n- second item\n- third item\n" msgid "simple_key" msgstr "simple key, simple message, so simple.2" #, correspondência parcial msgid "unverified_key" msgstr "Eu preciso de verificação, por favor, me verificar!" (In some formats we also export this status)"
Entrada gettext típica:
# 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 importar:
msgid "" msgstr "" "Language: 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 importar:
# 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 barra vertical ||:
msgctxt "menu" msgid "Open" msgstr "Eu sou uma tradução",translation_4: msgctxt "forum" msgid "Open" msgstr "Eu sou alguma outra tradução",translation_6:
Para adicionar o msgctxt a uma nova chave, adicione-o ao início do nome da chave:
my_context||my_key_name
Saída gettext resultante:
... msgctxt "my_context" msgid "my_key_name" ...
Formas plurais
o 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 correspondência parcial é usada para verificação de tradução. correspondência parcial invoca automaticamente o processo de desverificação dentro do Phrase.
#, correspondência parcial msgid "app_title" msgstr "Meu Projeto de Software"