|
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 é feito upload e/ou Download. 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, 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 chave-valor. A chave msgid é onde a string do texto original é colocada, enquanto o valor msgstr é onde a tradução vai.
gettext extrai Strings do texto original para um .POT (modelo de objeto portátil). Com base nos locais definidos, o gettext então 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. Phrase suporta a tradução de:
-
Arquivos .OS
-
Arquivos .OS 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 |
Pega o conteúdo de 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 (Brazil)\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\nquebra de linha." msgid "nested.deeply.key" msgstr "Uau, esta chave está aninhada ainda mais profundamente." 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] "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 "I need verification, please verificar me!" (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
o gettext usa a notação msgctxt para distinguir contextos diferentes 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
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"