CLI

Modifier le fichier de configuration CLI (Strings)

Le contenu est traduit de l’anglais par Phrase Language AI.

Le fichier .phrase.yml est utilisé pour stocker les arguments de ligne de commande réutilisés.

Arguments pris en charge :

  • project_id

    Identifiant d'un projet.

  • file_format

    Format de fichier utilisé lorsqu'il n'est pas explicitement spécifié dans les entrées source et cible.

  • per_page

    Nombre d’éléments renvoyés dans les réponses paginées.

Exemple de fichier de configuration.

Commandes Push et Pull

Push

$ phrase push 

La commande push charge les fichiers trouvés dans les répertoires de projet locaux. Utilisez le fichier .phrase.yml pour spécifier les fichiers à charger et définir tout paramètre supplémentaire. L'espace réservé <tag> peut également être utilisé pour télécharger des clés dans des fichiers séparés en fonction de leurs balises.

Pull

$ phrase pull 

Fonctionne comme la commande push à ceci près qu'il n'est pas possible d'utiliser les caractères génériques (globbing). En cas d'utilisation d'espaces réservés, utilisez <locale_name> chaque fois que possible. Pour exécuter la commande pull sur un fichier avec des clés ayant une balise spécifique, utilisez le paramètre tags :

phrase:
  pull:
    targets:
    - file: path/to/file/<locale_name>.yml
      params:
        tags:tag_name

Pour pouvoir utiliser l'espace réservé <tag>, les balises souhaitées doivent être listées dans la section params.

Paramètres

Les commandes push et pull peuvent être configurées dans le fichier .phrase.yml. Les options push sont les mêmes que pour le point de terminaison API uploads et les options pull sont les mêmes que le point de terminaison API locales download.

Exemple de commande Push :

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

Exemple de commande Pull :

pull:
  targets:
  - file: "./locales/example.yml"
    params:
      include_unverified_translations: true

Options de format

Selon le format de fichier, les options de format peuvent être appliquées à la section des paramètres. Les options de format peuvent être appliquées aux chargements, aux téléchargements ou aux deux.

Exemples de formats :

params:
  format_options:
    convert_placeholder: true

Certains formats de fichiers permettent un plus grand contrôle sur la syntaxe des fichiers :

phrase:
  pull:
    targets:
    - file: file.xml
      params:
        format_options:
          convert_placeholder: true

  push:
    sources:
    - file: file.csv
      params:
        format_options:
          column_separator: ";"

Espaces réservés et globbing

Les espaces réservés et les opérateurs de globbing suivants peuvent être placés dans les chemins d'accès dans vos entrées de fichier :

  • <locale_name>

    Nom unique des paramètres régionaux.

  • <locale_code>

    Identifiant de paramètres régionaux conforme au RFC 5646. Le code des paramètres régionaux n'a pas besoin d'être unique, plusieurs paramètres régionaux avec des noms différents peuvent exister avec le même code.

  • <tag>

    Utilisez les balises pour regrouper des clés. Les balises peuvent être utilisées pour conserver la structure du fichier d'origine.

Globbing

* et ** sont des opérateurs de globbing. L'astérisque simple * saute tout dossier dans un chemin. Le double astérisque ** est comme l’opérateur de globbing standard et correspond à n’importe quel caractère pour une correspondance récursive et non exhaustive.

Exemples :

# a file pattern

./abc/**/*.yml
# with a few files on your system

./abc/defg/en.yml

./abc/es.yml

./fr.yml
# selects

./abc/defg/en.yml

./abc/es.yml

Lorsque vous utilisez la commande pull pour télécharger des fichiers, fournissez un modèle de fichier explicite tel que ./abc/defg/<locale_name>.yml au lieu de ./**/*.yml.

Attendre les chargements

Tous les chargements sont traités de manière asynchrone. Pour attendre les chargements, appliquez le drapeau --wait. La commande push attendra que chaque fichier soit chargé et reviendra en cas d'échec comme de succès.

Cas d'utilisation

Charger un fichier dans un répertoire de paramètres régionaux spécifié

Charger le fichier en.json dans le répertoire ./locales/ avec un identifiant locale_id spécifique (les paramètres régionaux doivent déjà exister).

L’option Update_translations étant définie sur false, seules sont importées les nouvelles clés et les traductions. Si cette option est définie sur true, le client importera également les modifications locales apportées aux traductions existantes, en écrasant tout contenu déjà présent.

phrase:
  access_token: ACCESS_TOKEN
  project_id: PROJECT_ID
  file_format: nested_json

  push:
    sources:
    - file: ./locales/en.json
      params:
        update_translations: false
        locale_id: YOUR_LOCALE_ID # the locale must exist remotely

Remarque

Il n'est pas possible de supprimer les entrées de traduction importées. Si nécessaire, mettre à jour les traductions comme valeurs vides via le point de terminaison API qui convient.

Ruby on Rails : charger un type de fichier spécifié

Charger tous les fichiers se terminant par .yml se trouvant sous ./config/locales/. Les fichiers YAML Ruby on Rails contiennent des informations de paramètres régionaux. Il n’est donc pas nécessaire de spécifier explicitement les paramètres régionaux. L’option Update_translations étant définie sur true, toutes les modifications apportées aux traductions seront importées et toutes les données existantes seront écrasées.

phrase:
  push:
    sources:
    - file: ./config/locales/*.yml
      params:
        update_translations: true
        file_format: yml

Traiter les chaînes iOS

Pour traiter tous les fichiers de chaînes iOS avec les fichiers nommés Localizable.strings dans les dossiers .lproj.

<locale_code> englobe tout ce qui correspond après / et avant .lproj pour créer et identifier des paramètres régionaux.

Le paramètre update_translations est omis et l’effet est le même que s'il était défini sur false.

phrase:
  push:
    sources:
    - file: "./<locale_code>.lproj/Localizable.strings"
      params:
        file_format: strings

Assurer la maintenance de plusieurs projets Strings pour un projet de localisation

Modifiez le fichier de configuration pour limiter la portée des projets en divisant les traductions en catégories plus petites.

Exemples de configurations pour les frameworks

Modifiez le fichier de configuration en fonction des besoins, puis vérifiez-le dans le système de contrôle source ou de contrôle de version.

Rails

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

  push:
    sources:
    - file: "./config/locales/*.yml"

  pull:
    targets:
    - file: "./config/locales/<locale_name>.yml"

Chaînes iOS

phrase:

  access_token: ACCESS_TOKEN
  project_id: PROJECT_ID
  file_format: "strings"

  push:
    sources:
    - file: "./<locale_code>.lproj/Localizable.strings"

  pull:
    targets:
    - file: "./<locale_code>.lproj/Localizable.strings"
    - file: "./<locale_code>.lproj/Localizable.stringsdict"
      params:
        #file_format can be overwritten
        file_format: "stringsdict"

XML pour Android

Android n’utilise pas les codes de langue ISO standard comme motif de fichier. Spécifiez le motif requis dans .phrase.yml.

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

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

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

Exemple avec l'anglais comme langue par défaut, des paramètres régionaux allemands et des paramètres linguistiques allemands pour l'allemand autrichien :

phrase:
  access_token: ACCESS_TOKEN
  project_id: PROJECT_ID
  file_format: xml
  
  pull:
    targets:
    - file: ./app/src/main/res/values/strings.xml
      params:
        file_format: xml
        # Unique locale id for English
        locale_id: LOCALE_ID
    - file: ./app/src/main/res/values-de/strings.xml
      params:
        file_format: xml
        # Unique locale id for German
        locale_id: LOCALE_ID
    - file: ./app/src/main/res/values-de-rAU/strings.xml
      params:
        file_format: xml
        # Unique locale id for Austrian
        locale_id: LOCALE_ID
  push:
    sources:
    - 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
Cet article vous a-t-il été utile ?

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.