CLI

Изменить файл конфигурации CLI (Strings)

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

Файл . phrase.yml используется для хранения повторно используемых аргументов командной строки.

Поддерживаемые аргументы:

  • project_id

    Идентификатор проекта.

  • file_format

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

  • per_page

    Количество элементов, возвращенных в виде постраничных ответов.

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

Push and Pull

Push

Phrase push за $ 

Команда push загружает файлы, найденные в локальных каталогах проектов. Используйте файл . phrase.yml, чтобы указать загруженные файлы и задать дополнительные параметры. Заполнитель <тега> также можно использовать для того, чтобы скачать ключи в отдельные файлы по их тегам.

Вытащить

Вытягивание Phrase за $ 

Аналогично команде push с исключением невозможно использовать глоблинг. При использовании заполнителей используйте по возможности <языковой стандарт_name>. Чтобы извлечь файл с ключами, имеющими определенный тег, используйте параметр тегов:

Phrase:
  pull:
    целевые показатели:
    - file: path/to/file/<locale_name>.yml
      парамы:
        tags:tag_name

Чтобы использовать заполнитель <тега>, нужные теги должны быть указаны в разделе параметров.

Параметры

Команды push и pull можно настроить в файле . phrase.yml. Параметры push совпадают с параметрами конечной точки интерфейса приложений API, а параметры pull — с конечной точкой интерфейса приложений скачать API.

Push-пример:

push:
  источники:
  - файл: ./locales/en.json
    парамы:
      update_translations: true 

Вытащить пример:

pull:
  целевые показатели:
  - файл: "./locales/example.yml"
    парамы:
      include_unverified_translations: true

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

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

Примеры формата:

парамы:
  format_options:
    convert_placeholder: true

Некоторые форматы файлов обеспечивают больший контроль над синтаксисом файла:

Phrase:
  pull:
    целевые показатели:
    - файл: file.xml
      парамы:
        format_options:
          convert_placeholder: true

  push:
    источники:
    - файл: file.csv
      парамы:
        format_options:
          column_separator: ";"

Заполнители и глоблинг

Следующие заполнители и операторы перевода могут быть помещены на пути в ваших записях в файле:

  • <locale_name>

    Уникальное название языкового стандарта.

  • <locale_code>

    Идентификатор языкового стандарта, совместимый с RFC 5646. Код языкового стандарта не должен быть уникальным, поэтому с одним и тем же кодом может существовать несколько языковых стандартов с разными названиями.

  • <tag>

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

Globbing

* и ** — операторы глоблинга. Одна звездочка * пропускает любую папку по пути. Двойная звездочка ** соответствует стандартному оператору перевода и соответствует любому символу для рекурсивного, неполного совпадения.

Примеры:

# шаблон файла

./abc/**/*.yml
# с несколькими файлами в вашей системе

./abc/defg/en.yml

./abc/es.yml

./fr.yml
# выбирает

./abc/defg/en.yml

./abc/es.yml

Используя команду pull, чтобы скачать файлы, укажите явный шаблон файла, такой как ./abc/defg/<lande_name>.yml, вместо ./**/*.yml.

Ожидание загрузки

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

Использовать варианты

Загрузить файл в установленный языковой стандарт

Загрузите файл en.json в каталог ./locales/ с заданным языковым стандартом_ id (языковой стандарт уже должен существовать).

Update_translations имеет значение False, поэтому импортируются только новые ключи и переводы. Если этот параметр действителен, клиент также импортирует локальные изменения в существующие переводы, переписывая любой уже существующий контент.

Phrase:
  access_token: ACCESS_TOKEN
  project_id: PROJECT_ID
  file_format: nested_json

  push:
    источники:
    - файл: ./locales/en.json
      парамы:
        update_translations: false
        locale_id: ВАШ_Языковой стандарт_ID # языковой стандарт должен существовать удаленно

Примечание

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

Ruby on Rails: загрузить файл указанного типа

Загрузить все файлы, заканчивающиеся на .yml, в ./config/locales/. YAML- файлы Ruby on Rails содержат информацию о языковом стандарте, поэтому нет необходимости указывать языковой стандарт в явном виде. Задана истина Update_translations, поэтому все изменения в переводах будут импортированы с переписыванием всех существующих данных.

Phrase:
  push:
    источники:
    - файл: ./config/locales/*.yml
      парамы:
        update_translations: true
        file_format: yml

Совпадение строк iOS Strings

Для совпадения всех файлов iOS Strings с файлами Localizable.strings в папках .lproj.

<Языковой стандарт_code> — это всё, что совпадает после / и перед .lproj, чтобы создать и идентифицировать языковые стандарты.

Параметр update_translations пропущен и имеет такой же эффект, что и придание ему ложного статуса.

Phrase:
  push:
    источники:
    - файл: "./<языковой стандарт_code>.lproj/Localizable.strings"
      парамы:
        file_format: strings

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

редактировать файл конфигурации, чтобы ограничить область проектов, разделив переводы на небольшие категории.

Примеры конфигурации для фреймворков

Измените файл конфигурации в соответствии с требованиями, затем проверьте его в системе контроля оригинала или контроля версий.

Rils

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

  push:
    источники:
    - файл: "./config/locales/*.yml"

  pull:
    целевые показатели:
    - файл: "./config/locales/<языковой стандарт_name>.yml"

iOS Strings

Phrase:

  access_token: ACCESS_TOKEN
  project_id: PROJECT_ID
  file_format: "strings"

  push:
    источники:
    - файл: "./<языковой стандарт_code>.lproj/Localizable.strings"

  pull:
    целевые показатели:
    - файл: "./<языковой стандарт_code>.lproj/Localizable.strings"
    - файл: "./<языковой стандарт_code>.lproj/Localizable.stringsdict"
      парамы:
        #файл_формат можно перезаписать
        file_format: "stringsdict"

Android XML

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

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

  push:
    источники:
    - файл: "./res/values-<языковой стандарт_code>/strings.xml"

  pull:
    целевые показатели:
    - файл: "./res/values-<языковой стандарт_code>/strings.xml"

Пример с английским языком по умолчанию, немецким языковым стандартом и немецким региональным языковым стандартом для австрийского немецкого языка:

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