CLI

Modificar o arquivo de configuração da CLI (cadeias de caracteres)

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

O arquivo .phrase.yml é usado para armazenar argumentos de linha de comando reutilizados.

Argumentos suportados:

  • project_id

    A ID de um projeto.

  • file_format

    O formato de arquivo usado quando um não é explicitamente especificado nas entradas de origem e destino.

  • per_page

    O número de itens retornados em respostas paginadas.

Arquivo de configuração de exemplo.

Empurre e puxe

Push

$ frase push 

O comando push carrega arquivos encontrados em diretórios de projeto locais. Use o arquivo .phrase.yml para especificar arquivos para upload e definir quaisquer parâmetros adicionais. O espaço reservado <tag> também pode ser usado para baixar chaves em arquivos separados com base em suas tags.

Pull

$ frase puxar 

Semelhante ao comando push , com exceção globbing não pode ser usado. Ao usar espaços reservados, use <locale_name> sempre que possível. Para extrair um arquivo com chaves que tenham uma marca específica, use o parâmetro tags :

frase:
  pull:
    Alvos:
    - arquivo: caminho/para/arquivo/<locale_name>.yml
      params:
        tags:tag_name

Para usar o espaço reservado <tag> as tags desejadas devem ser listadas na seção params .

Parâmetros

Os comandos push e pull podem ser configurados dentro do arquivo .phrase.yml . As opções de push são as mesmas do ponto de extremidade da API de uploads e as opções de pull são as mesmas do ponto de extremidade da API de download de localidades .

Exemplo de push:

push:
  Fontes:
  - file: ./locales/en.json
    params:
      update_translations: true 

Exemplo de pull:

pull:
  Alvos:
  - Arquivo: "./locales/example.yml"
    params:
      include_unverified_translations: verdadeiro

Opções de formato

Dependendo do formato do arquivo, as opções de formato podem ser aplicadas à seção de parâmetros. As opções de formato podem ser aplicadas a uploads, downloads ou ambos.

Exemplos de formato:

params:
  format_options:
    convert_placeholder: verdadeiro

Alguns formatos de arquivo permitem maior controle sobre a sintaxe do arquivo:

frase:
  pull:
    Alvos:
    - arquivo: file.xml
      params:
        format_options:
          convert_placeholder: verdadeiro

  push:
    Fontes:
    - arquivo: file.csv
      params:
        format_options:
          column_separator: ";"

Espaços reservados e Globbing

Os seguintes espaços reservados e operadores de globbing podem ser colocados nos caminhos dentro de suas entradas de arquivo:

  • <locale_name>

    O nome exclusivo da localidade.

  • <locale_code>

    O identificador de localidade compatível com RFC 5646. O código de localidade não precisa ser exclusivo, portanto, várias localidades com nomes diferentes podem existir com o mesmo código.

  • <tag>

    Use tags para agrupar chaves. As tags podem ser usadas para manter a estrutura do arquivo original.

Globbing

* e ** são operadores de globbing. Um único asterisco * ignora qualquer pasta em um caminho. O asterisco duplo ** é como o operador de globbing padrão e corresponde a qualquer caractere para correspondência recursiva e não exaustiva.

Exemplos:

# um padrão de arquivo

./abc/**/*.yml
# com alguns arquivos em seu sistema

./abc/defg/en.yml

./abc/es.yml

./fr.yml
# seleciona

./abc/defg/en.yml

./abc/es.yml

Ao usar o comando pull para baixar arquivos, forneça um padrão de arquivo explícito, como ./abc/defg/<locale_name>.yml em vez de ./**/*.yml.

Aguardando uploads

Todos os carregamentos são processados de forma assíncrona. Para aguardar os uploads, aplique o sinalizador --wait. O push aguardará o upload de cada arquivo e retornará se ele falhou ou foi bem-sucedido.

Casos de uso

Carregar um arquivo para a localidade especificada

Carregue o arquivo en.json no diretório ./locales/ com a locale_id fornecida (a localidade já deve existir).

Update_translations é definido como false, portanto, apenas novas chaves e traduções são importadas. Se definido como true, o cliente também importaria alterações locais para traduções existentes, substituindo qualquer conteúdo já presente.

frase:
  access_token: ACCESS_TOKEN
  project_id: PROJECT_ID
  file_format: nested_json

  push:
    Fontes:
    - file: ./locales/en.json
      params:
        update_translations: false
        locale_id: YOUR_LOCALE_ID # a localidade deve existir remotamente

Nota

Não é possível excluir entradas de tradução importadas. Se necessário, atualize as traduções para valores vazios por meio do ponto de extremidade da API relevante.

Ruby on Rails: carregar o tipo de arquivo especificado

Carregue todos os arquivos que terminam com .yml localizados em ./config/locales/. Os arquivos YAML do Ruby on Rails contêm informações de localidade, portanto, não há necessidade de especificar a localidade explicitamente. Update_translations está definido como true, portanto, todas as alterações nas traduções serão importadas com todos os dados existentes sendo substituídos.

frase:
  push:
    Fontes:
    - arquivo: ./config/locales/*.yml
      params:
        update_translations: true
        file_format: yml

Corresponder cadeias de caracteres do iOS

Para corresponder todos os arquivos de cadeias de caracteres do iOS com arquivos chamados Localizable.strings em pastas .lproj .

O <locale_code> é tudo o que corresponde depois / e antes de .lproj para criar e identificar localidades.

O parâmetro update_translations é omitido e tem o mesmo efeito que defini-lo como false.

frase:
  push:
    Fontes:
    - arquivo: "./<locale_code>.lproj/Localizable.strings"
      params:
        file_format: strings

Manter vários projetos Strings para um projeto de localização

Edite o arquivo de configuração para limitar o escopo dos projetos dividindo as traduções em categorias menores.

Exemplos de configuração para estruturas

Modifique o arquivo de configuração para atender aos requisitos e, em seguida, verifique-o no controle de origem ou no sistema de controle de versão.

Trilhos

frase:
  access_token: ACCESS_TOKEN
  project_id: PROJECT_ID
  file_format: "yml"

  push:
    Fontes:
    - Arquivo: "./config/locales/*.yml"

  pull:
    Alvos:
    - Arquivo: "./config/locales/<locale_name>.yml"

Cadeias de caracteres do iOS

frase:

  access_token: ACCESS_TOKEN
  project_id: PROJECT_ID
  file_format: "strings"

  push:
    Fontes:
    - arquivo: "./<locale_code>.lproj/Localizable.strings"

  pull:
    Alvos:
    - arquivo: "./<locale_code>.lproj/Localizable.strings"
    - arquivo: "./<locale_code>.lproj/Localizable.stringsdict"
      params:
        #file_format pode ser substituído
        file_format: "stringsdict"

Android XML

O Android não usa os códigos de idioma ISO padrão como padrão de arquivo. Especifique o padrão necessário em .phrase.yml.

frase:
  access_token: ACCESS_TOKEN
  project_id: PROJECT_ID
  file_format: "xml"

  push:
    Fontes:
    - file: "./res/values-<locale_code>/strings.xml"

  pull:
    Alvos:
    - file: "./res/values-<locale_code>/strings.xml"

Exemplo com o inglês como idioma padrão, uma localidade alemão e uma localidade de região alemã para alemão austríaco:

frase:
  access_token: ACCESS_TOKEN
  project_id: PROJECT_ID
  file_format: xml
  
  pull:
    Alvos:
    - arquivo: ./app/src/main/res/values/strings.xml
      params:
        file_format: xml
        # ID de localidade exclusivo para inglês
        locale_id: LOCALE_ID
    - arquivo: ./app/src/main/res/values-de/strings.xml
      params:
        file_format: xml
        # ID de localidade exclusivo para alemão
        locale_id: LOCALE_ID
    - file: ./app/src/main/res/values-de-rAU/strings.xml
      params:
        file_format: xml
        # ID de localidade exclusivo para austríaco
        locale_id: LOCALE_ID
  push:
    Fontes:
    - arquivo: ./app/src/main/res/values/strings.xml
      params:
        file_format: xml
        locale_id: LOCALE_ID
    - arquivo: ./app/src/main/res/values-de/strings.xml
      params:
        file_format: xml
        locale_id: LOCALE_ID
    - file: ./app/src/main/res/values-de-rAU/strings.xml
      params:
        file_format: xml
        locale_id: LOCALE_ID
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.