CLI

Criar um arquivo de configuração de CLI (Strings)

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

Pré-requisitos

  • token de acesso da API com escopo leitura e escrita

  • ID do projeto Strings mostrado na aba API das configurações do projeto

  • Conhecimento básico de YAML, incluindo indentação

  • Permissões de leitura e escrita do Git se o repositório executar phrase push ou phrase pull no CI

Para criar automaticamente um arquivo de configuração, siga estes passos:

  1. Na linha de comando, digite phrase init para criar um arquivo .phrase.yml.

    O assistente de configuração começa no CLI.

  2. Forneça:

    • Token de acesso

      Cole ou pressione Enter para permitir que $PHRASE_ACCESS_TOKEN seja usado

    • ID do projeto Strings (por exemplo, abcdef1234567890abcdef1234567890)

    • Formato do arquivo de localidade (por exemplo, json, rails_yaml, ios_strings)

    • Caminho local

      Caminho glob ou exato para arquivos de localidade no código do projeto (por exemplo, config/locales/*.json)

Um arquivo básico .phrase.yml é criado no diretório atual.

Dica

Forneça flags para pular completamente o assistente, por exemplo phrase init --access_token=$PHRASE_ACCESS_TOKEN --project_id=... --file_format=ios_strings --path='ios/*.strings'.

Se estiver usando um arquivo de configuração criado ou copiado manualmente, coloque-o em uma dessas localizações:

  • O diretório de trabalho atual (pwd) no qual o cliente CLI é chamado.

  • O diretório principal do usuário atual ($HOME no Unix, $HomePath no Windows).

  • O caminho especificado na variável do ambiente PHRASEAPP_CONFIG.

  • Caminho para o arquivo de configuração por meio da marca --config (por exemplo: /some/path/to/phrase.yml).

Visão geral das opções do CLI

Amostra de arquivo de configuração.

Configurações Globais 

Chave

Tipo

Necessário

Descrição

phrase.access_token 

string

Sim

Token de acesso pessoal.

phrase.project_id 

string

Sim

ID do projeto público mostrado nas configurações do projeto Strings.

phrase.file_format 

string

Sim

Formato de arquivo local padrão (extensão da API).

phrase.locale_mapping

object

Não

Mapeia os IDs de localidade do Phrase para nomes personalizados para uso em caminhos de arquivo com o marcador de posição <locale_name>. Isso é útil para plataformas com convenções de nomenclatura não padrão, como Android.

Se um local não for especificado no mapeamento, seu nome padrão de local do Phrase é usado por padrão.

Enviar: Fontes

Chave

Tipo

Necessário

Descrição

push.sources[].file 

caminho

Sim

Caminho relativo para arquivo(s) a serem enviados, por exemplo, ./caminho/para/arquivo/<código_local>.json. Supports <locale_name>, <locale_code>, <tags>.

push.sources[].project_id 

string

Substitua o id_projeto global para esta fonte de arquivo específica. Útil ao enviar arquivos para vários projetos do Phrase a partir do mesmo arquivo de configuração. 

Enviar: Parâmetros

Parâmetro

Tipo

Padrão

Descrição

file_format 

string

cabeçalho

Substitua o formato do arquivo para esta fonte.

locale_id 

string

Nome do local (por exemplo, en-US) ou ID de local público.

tags 

string

Tags separadas por vírgula para novas chaves.

update_translations 

Booleano

false 

Atualizar traduções existentes com o conteúdo do arquivo.

update_translation_keys 

Booleano

true 

Passe false aqui para evitar que novas chaves sejam criadas e chaves existentes sejam atualizadas.

update_descriptions 

Booleano

false 

Atualize as descrições das chaves; descrições vazias sobrescrevem as existentes.

skip_upload_tags 

Booleano

false 

Tags de upload não são criadas.

skip_unverification 

Booleano

false 

Traduções atualizadas não estão não verificadas.

file_encoding 

string

Codificação do arquivo: UTF-8, UTF-16, UTF-16BE, UTF-16LE ou ISO-8859-1.

locale_mapping 

object

(Apenas Excel/CSV) Mapeie códigos de local para nomes de coluna, por exemplo, {"en": "C", "de": "D"} para analisar traduções. Isso é distinto do mapeamento_de_local de nível superior usado para caminhos de arquivo.

autotranslate 

Booleano

false 

Busque automaticamente traduções para o idioma carregado.

mark_reviewed 

Booleano

false 

Marque traduções importadas como revisadas (fluxo_de_trabalho_de_revisão_avançado deve estar habilitado).

Enviar: Opções de Formato

Todas as opções de formato disponíveis são suportadas na configuração do CLI. Veja Arquivo de configuração de exemplo para exemplos.

Puxar: Alvos

Chave

Tipo

Necessário

Descrição

pull.targets[].file 

caminho

Sim

Caminho relativo para arquivos de local puxados, por exemplo, ./Radio.de/<código_de_local>.lproj/Localizable.strings.

pull.targets[].project_id 

string

Substitua o project_id global para este alvo de pull específico. Ative a importação de traduções de vários projetos Phrase usando o mesmo arquivo de configuração.

Pull: Parâmetros

Parâmetro

Tipo

Padrão

Descrição

file_format 

string

Deve ser strings.

locale_id 

string

Nome do local (por exemplo, en-US) ou ID de local público.

tags 

string

Tags separadas por vírgula para filtrar quais chaves importar.

include_empty_translations 

Booleano

false 

Inclua chaves sem traduções.

exclude_empty_zero_forms 

Booleano

false 

Exclua plurais de forma zero quando vazio.

include_translated_keys 

Booleano

true 

Inclua chaves que já possuem traduções.

keep_notranslate_tags 

Booleano

false 

Preserve as tags [NOTRANSLATE] na saída.

encoding 

string

Codificação do arquivo: UTF-8, UTF-16, UTF-16BE, UTF-16LE ou ISO-8859-1.

include_unverified_translations 

Booleano

true 

Se false, exclua traduções não verificadas.

use_last_reviewed_version 

Booleano

false 

Se true, use a última versão revisada (requer fluxo de trabalho de revisão avançado).

fallback_locale_id 

string

Local de fallback a ser usado para traduções ausentes.

Pull: Opções de Formato

Todas as opções de formato disponíveis são suportadas na configuração do CLI. Veja Arquivo de configuração de exemplo para exemplos.

Várias configurações

Em monorepos, coloque um arquivo de configuração em cada pacote e execute o CLI a partir da subpasta correspondente, ou aponte os trabalhos de CI para diferentes arquivos de configuração com a opção --config.

Integração com Git

GitLab:

  • O arquivo de configuração .phrase.yml deve estar presente no repositório. O arquivo define quais arquivos importar (pull) ou exportar (push) do repositório.

  • O acesso à leitura e edição é necessário no repositório.

  • Arquivos de configuração com definição incorreta podem causar erros. Certifique-se de que o arquivo contenha pelo menos um destino de push e um de pull, os formatos de arquivo corretos e a configuração correta do parâmetro update_translations.

  • Use GitLab 9.5 ou posterior para garantir a compatibilidade da API.

GitHub:

  • O arquivo de configuração .phrase.yml deve estar presente no repositório. O arquivo define quais arquivos importar (pull) ou exportar (push) do repositório.

  • O acesso à leitura e edição é necessário no repositório.

  • Arquivos de configuração com definição incorreta podem causar erros. Certifique-se de que o arquivo contenha pelo menos um destino de push e um de pull, os formatos de arquivo corretos e a configuração correta do parâmetro update_translations.

  • Um token de acesso do GitHub para o escopo do repositório (public_repo se sincronizado com um repositório público).

  • Se o logon único estiver ativado no GitHub, ele também deve estar ativado para o token de acesso.

  • O ramo phrase_translations não pode ser protegido.

  • Certifique-se de que as configurações do repositório não exijam confirmações assinadas.

BitBucket:

  • O arquivo de configuração .phrase.yml deve estar presente no repositório. O arquivo define quais arquivos importar (pull) ou exportar (push) do repositório.

  • O acesso à leitura e edição é necessário no repositório.

  • Arquivos de configuração com definição incorreta podem causar erros. Certifique-se de que o arquivo contenha pelo menos um destino de push e um de pull, os formatos de arquivo corretos e a configuração correta do parâmetro update_translations

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.