0

So habe ich eine Reihe von übersetzten Tasten wie folgt aufgebaut:Phraseapp Tag-Konfiguration

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

Ich möchte über ihre Kommandozeilen-Tool diese PhraseApp hochladen. Grundsätzlich liest es eine .phraseapp.yml Datei für Konfigurationseinstellungen und läuft.

Mein aktueller .phraseapp.yml sieht wie folgt aus:

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 

jedoch dieses Setup uploads nur alle diese JSON-Dateien auf die en und de locales, vollständig den Namespace von Dateiname impliziert ignoriert. Wie kann ich Namespaces mit PhraseApp behalten?

Am allerwenigsten, würde Ich mag den Namespace als Tag, so etwas wie dies zu können, schließen ein:

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 

Das ist offensichtlich nicht funktioniert, wie es PhraseApp für ein suchen verursacht Datei mit dem wörtlichen Namen <namespace>. Irgendwelche Ideen?

Antwort

0

Verwenden Sie den Platzhalter <tag> anstelle von <namespace>. Auf diese Weise werden die Schlüssel mit dem Namen der Datei markiert, zu der sie gehören, wenn phraseapp push ausgeführt wird. Um beim erneuten Laden der Locales die Schlüssel wieder in die richtige Datei zu setzen (phraseapp pull), müssen Sie mehrere Zieldateipfade mit dem tag-Parameter einrichten.

Danach ist Ihr .phraseapp.yml kann wie folgt aussehen:

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" 

Der Workflow detaillierteren hier beschrieben wird: https://phraseapp.com/docs/guides/working-with-phraseapp/structuring-localization-files/#keeping-separate-files

Ein schönes Wochenende und beste Grüße!
Cornelius