Tipos de arquivos aceitos (Strings)

. PO - arquivos gettext (Strings)

O conteúdo de toda a Central de Ajuda é traduzido automaticamente de inglês pelo Phrase Language AI.

Extensões de arquivo

.po

Extensão da API

gettext

Importação

Sim

Exportação

Sim

Suporte a formulários plurais

Sim

Suporte de descrição

Sim

. 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 em um arquivo PO para tradução. Um. PO é uma série de pares chave-valor. A chave msgid é onde a cadeia de caracteres de origem é colocada, enquanto o valor msgstr é para onde a tradução vai.

gettext extrai cadeias de caracteres do código-fonte em um arquivo . POT (modelo de objeto portátil). Com base em localidades definidas, gettext converte o arquivo . POT em um arquivo específico de localidade . Arquivos PO para upload em uma ferramenta CAT para tradução. Após a tradução, gettext converte o arquivo . PO em arquivos . Arquivos MO (arquivos de objeto de máquina) eventualmente usados para localização.

. Os arquivos PO são idênticos ao . Arquivos POT, exceto . Os arquivos POT geralmente são usados por gettext para gerar dados específicos de localidade. Arquivos PO. Traduzindo um arquivo . POT diretamente e renomeá-lo de acordo com a localidade pretendida posteriormente não gera problemas. Frase suporta a tradução de:

  • . Arquivos PO

    • Verifique se a opção Msgid como conversão padrão está habilitada.

      Se não estiver habilitado, o nome da chave (msgid) será importado, mas a origem (msgstr) estará vazia.

  • Bilingue. Arquivos PO

    Selecione Importar arquivos .po bilíngues ao carregar um arquivo por meio da interface do usuário Strings para habilitar as opções de importação relevantes.

    • msgid é a tradução de origem padrão e o nome da chave

    • msgstr é a tradução de destino padrão

    • msgctxt é adicionado ao msgid com ||

  • Arquivos POT

  • Legível por máquina. Arquivos MO

Exemplo de código

msgid ""
msgstr ""
"Linguagem: Inglês\n"
"Versão MIME: 1,0\n"
"Content-Type: texto/simples; charset=UTF-8\n"
"Codificação de transferência de conteúdo: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Gerador: 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 profunda."

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.2"

#, difuso
msgid "unverified_key"
msgstr "Preciso de verificação, por favor me verifique! (Em alguns formatos também exportamos esse 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 localidade e dados para formulários plurais que são extraídos durante a importação:

msgid ""
msgstr ""
"Idioma: en\n"
"Versão MIME: 1,0\n"
"Content-Type: texto/simples; charset=UTF-8\n"
"Codificação de transferência de conteúdo: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Gerador: 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 é a minha descrição
msgid "app_title"
msgstr "Meu Projeto de Software"

Contexto

GetText usa a notação MSGCTXT para distinguir contextos diferentes para o mesmo MSGID. Cada nome de chave deve ser exclusivo para que msgctxt seja adicionado como a primeira parte do nome da chave, separados por dois símbolos de pipe ||:

msgctxt "menu"
msgid "Abrir"
msgstr "Eu sou uma tradução"

msgctxt "forum"
msgid "Abrir"
msgstr "Eu sou alguma outra tradução"

Para adicionar o msgctxt a uma nova chave, coloque-o no nome da chave:

my_context||my_key_name

Saída gettext resultante:

...
msgctxt "my_context"
msgid "my_key_name"
...

Formas plurais

gettext suporta formulários plurais para uma tradução:

msgid "new_messages"
msgid_plural ""
msgstr[0] "Você tem uma nova mensagem"
msgstr[1] "Você tem %{count} novas mensagens"

Indistinto

A palavra-chave fuzzy é usada para verificação do tradutor. O Fuzzy invoca automaticamente o processo de desverificação dentro do aplicativo.

#, difuso
msgid "app_title"
msgstr "Meu Projeto de Software"
Esse artigo foi útil?

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.