CLI

Использование CLI (строк)

Контент автоматически переведен с английского языка с помощью Phrase Language AI.

Инструмент Phrase Strings CLI помогает навигации по API для быстрого управления проектами и переводами из командной строки вместо запросов на включение изменений.

Если вы используете центр обработки данных в США, пройдите мимо хоста с помощью phrase init -- host https://api.us.app.phrase.com/v2. Если конфигурация уже сгенерирована, добавьте следующий код:

phrase:
  host: https://api.us.app.phrase.com/v2

Базовое употребление

Управляйте тем, как клиент перемещает и извлекает файлы, редактируя файл конфигурации .phrase.yml.

  1. Инициализировать проект.

    Инициализировать проект, выполнив фразу init. Определяет предпочтительный формат файла языкового стандарта, исходные файлы и многое другое:

    $ phrase init
  2. Загрузить файлы языковых стандартов.

    Используйте подкоманду push для загрузки файлов языковых стандартов:

    push фразы за $
  3. Скачать файлы языковых стандартов.

    Используйте подкоманду извлечь, чтобы загрузить последние файлы языковых стандартов обратно в проект:

    фразу за $
  4. Больше команд.

    Чтобы увидеть список всех доступных подкоманд, выполните фразу без указания подкоманды. Чтобы увидеть все поддерживаемые параметры для определенной подкоманды, используйте флаг --Help:

    Список языковых стандартов за $ --справка

Пример файла конфигурации.

Побег из правил и кавычек

При передаче JSON- объектов в командной строке правила экранирования и использование кавычек могут варьироваться в зависимости от используемой оболочки.

Если используется оболочка Windows, заключите всю строку JSON в двойные кавычки """ и избегайте двойных кавычек в JSON, используя символ обратной косой черты \. Например:

phrase locales create --project_id PROJECT123 --data "{\"name\":\"french\", \"code\":\"fr\"}" --access_token TOKEN123123

Доступ и аутентификация

Доступ к конечным точкам API

Клиент может быть использован для доступа ко всем конечным точкам API. Например, перечислить все проекты:

Список проектов фразы на $ --access_token ACCESS_TOKEN

Аутентификация с использованием учетных данных Phrase

Укажите имя пользователя с флагом --имя пользователя, и будет запрошен пароль:

Список проектов с фразой на $ --username user@example.com
Пароль: *******

Если для пользователя или организации активирована двухфакторная аутентификация, то через флаг --tfa должен быть предоставлен действительный многофакторный токен:

Список проектов с фразой на $ --имя пользователя@example.com --tfa
Пароль: *******
TFA: ********

Аутентификация с использованием токена доступа

Задание переменных среды работает по-разному на разных платформах. Рекомендуется хранить токен доступа в файле конфигурации .phrase.yml.

Используйте флаг --access_token, чтобы указать свой токен доступа:

Список проектов фразы на $ --access_token ACCESS_TOKEN

или используйте переменную среды PHRASE_ACCESS_TOKEN для хранения токена:

export PHRASE_ACCESS_TOKEN="ACCESS_TOKEN"

Если активирована двухфакторная аутентификация, необходимо указать действительный многофакторный токен через флаг ---x_phrase_app_otp:

$ phrase list проектов --access_token ACCESS_TOKEN --x_phrase_app_otp PASSWORD

Токен также может быть предоставлен в интерактивном режиме с флагом --tfa:

Список проектов с фразой на $ --access_token ACCESS_TOKEN --tfa
TFA: ********

Токен доступа по умолчанию считывается из файла конфигурации .phrase.yml, но поведение можно изменить, используя упомянутые флаги или переменные env, и вместо него будет использоваться токен, предоставляемый через флаг или переменную среды. Токены, предоставляемые через флаги, переопределяют токены, предоставляемые через переменную среды.

Push and pull

Используйте команды push и pull для загрузки и скачивания файлов языковых стандартов. Вместо аргументов командной строки push and pull используйте конфигурацию, хранящуюся в файле конфигурации .phrase.yml в корневой папке проекта.

Пример конфигурации для загрузки и скачивания файлов языковых стандартов типичного приложения Rails:

phrase:
  access_token: "ACCESS_TOKEN"
  project_id: "PROJECT_ID"
  file_format: "yml"
  push:
    источники:
      - file: "./config/locales/<locale_name>.yml"
  pull:
    целевые показатели:
      - file: "./config/locales/<locale_name>.yml"

Используйте push-команду, чтобы загрузить файлы языковых стандартов в проект, обозначенный project_id как файл de.yml и en.yml в папке config/locales:

push фразы за $
Загрузка config/locales/de.yml
Config/locales/de.yml успешно загружен.
Загрузка config/locales/en.yml
Config/locales/en.yml успешно загружен.

Используйте команду pull, чтобы загрузить файлы языковых стандартов из проекта, обозначенного project_id, в соответствующие пути к файлам:

фразу за $
Загружено de в config/locales/de.yml
Загружено en в config/locales/en.yml

Поддержка лимита ставок

Клиент поддерживает ограничение тарифа для скачивания языковых стандартов. По достижении лимита ставки клиент ждет окончания лимита ставки и продолжает скачивать языковые стандарты. Клиент показывает, что превышен лимит скорости, загрузка будет возобновлена через х секунд.

Загрузить очистку

Команда очистки загрузок используется для удаления ключей, найденных в проекте, но не содержащихся в загруженном файле. После отправки файлов языкового стандарта может потребоваться удаление всех ключей, не содержащихся в языковом стандарте по умолчанию или каком-либо другом языковом стандарте:

$ phrase загружает cleanup --id <YOUR_UPLOAD_ID>

Варианты формата

Несколько форматов, таких как CSV, поддерживают дополнительные параметры формата во время загрузки. Получите доступ к этим параметрам, предварительно настроив их на --format_options:

загрузки фраз создают \
--project_id PROJECT_ID \
--file ./en.csv\
--file_format csv \
--locale_mapping '{"en':3, "de":2}'\
--format_options ‘{“key_index”:1}’ \
-- access token YOUR_ACCESS_TOKEN

Прокси

Если вы стоите за прокси, задайте настройки прокси, используя переменную среды HTTPS_PROXY:

export HTTPS_PROXY=https://user:password@host:port

Сложное использование

Несколько файлов локализации для одного проекта

Используйте один файл на каждый языковой стандарт в проекте. Если инструменты или рамки заставляют использовать несколько файлов, подробно о настройке проекта см. сохранение файловых структур.

Несколько проектов для одного проекта локализации

При работе над крупным проектом локализации распределите переводы по нескольким проектам. Настройка CLI для работы с несколькими файлами локализации.

Варианты формата

Некоторые форматы файлов позволяют задавать параметры формата для усиления контроля над синтаксисом файлов. Укажите параметры формата в файле конфигурации .phrase.yml::

phrase:
  pull:
    целевые показатели:
    - file: file.xml
      params:
        format_options:
          convert_placeholder: true

  push:
    источники:
    - file: file.csv
      params:
        format_options:
          column_separator: ";"

Конфигурация для проектов на базе Android

Android не использует стандартные языковые коды ISO в качестве шаблона файла. Укажите требуемый шаблон в .phrase.yml.

Укажите каждый языковой стандарт в явном виде в файле .phrase.yml. Этот пример показывает конфигурацию .phrase.yml с английским языком по умолчанию, немецким языковым стандартом и немецким региональным языковым стандартом для австрийского немецкого языка:

phrase:
  access_token: ACCESS_TOKEN
  project_id: PROJECT_ID
  file_format: xml
  pull:
    целевые показатели:
    - file: ./app/src/main/res/values/strings.xml
      params:
        file_format: xml
        # Уникальный ID языкового стандарта для английского языка
        locale_id: LOCALE_ID
    - file: ./app/src/main/res/values-de/strings.xml
      params:
        file_format: xml
        # Уникальный ID языкового стандарта для немецкого языка
        locale_id: LOCALE_ID
    - file: ./app/src/main/res/values-de-rAU/strings.xml
      params:
        file_format: xml
        # Уникальный ID языкового стандарта для Австрии
        locale_id: LOCALE_ID
  push:
    источники:
    - file: ./app/src/main/res/values/strings.xml
      params:
        file_format: xml
        locale_id: LOCALE_ID
    - file: ./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
Была ли эта статья полезной?

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.