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.
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
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: ";"
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
.
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.
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.
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