0

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

|-- en 
    homepage.json 
    login.json 
    signup.json 
|-- de 
    homepage.json 
    login.json 
    signup.json 

Я хочу, чтобы загрузить их в PhraseApp через их инструмент командной строки. В основном, он читает файл .phraseapp.yml для настроек и запусков конфигурации.

Мой текущий .phraseapp.yml выглядит следующим образом:

phraseapp: 
    access_token: 123456789 
    project_id: 123456789 
    file_format: nested_json 
    push: 
    sources: 
    - file: <locale_name>/*.json 
     params: 
     file_format: nested_json 
    pull: 
    targets: 
    - file: <locale_name>/*.json 
     params: 
     file_format: nested_json 

Однако эта установка только будет загружать все эти файлы JSon к en и de районов, полностью игнорируя пространство имен подразумеваемой по имени файла. Как сохранить пространство имен с помощью PhraseApp?

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

phraseapp: 
    access_token: 123456789 
    project_id: 123456789 
    file_format: nested_json 
    push: 
    sources: 
    - file: <locale_name>/<namespace>.json 
     params: 
     file_format: nested_json 
     tags: <namespace> 
    pull: 
    targets: 
    - file: <locale_name>/*.json 
     params: 
     file_format: nested_json 

Это, очевидно, не работает, так как она заставляет PhraseApp искать файл буквально назван <namespace>. Есть идеи?

ответ

0

Попробуйте использовать заполнитель <tag> вместо <namespace>. Таким образом, ключи будут помечены именем файла, к которому они принадлежат, при запуске phraseapp push. Чтобы вернуть ключи в правый файл при повторной загрузке локалей (phraseapp pull), вам необходимо настроить несколько путей к целевому файлу с параметром тега, соответственно.

В соответствии с этим, ваш .phraseapp.yml может выглядеть примерно так:

phraseapp: 
    access_token: ... 
    project_id: ... 
    file_format: nested_json 
    push: 
     sources: 
     file: ./<locale_name>/<tag>.json 

    pull: 
     targets: 
     # homepage 
     - 
      file: ./<locale_name>/homepage.json 
      params: 
      tag: "homepage" 

     # login 
     - 
      file: ./<locale_name>/login.json 
      params: 
      tag: "login" 

     # signup 
     - 
      file: ./<locale_name>/signup.json 
      params: 
      tag: "signup" 

Рабочий процесс более подробно описано здесь: https://phraseapp.com/docs/guides/working-with-phraseapp/structuring-localization-files/#keeping-separate-files

Хороших выходных и наилучшими пожеланиями!
Cornelius