L'outil CLI de Phrase Strings permet de naviguer dans l'API pour gérer rapidement les projets et les traductions depuis la ligne de commande plutôt que depuis les requêtes curl.
Si vous utilisez le centre de données américain, passez l'hôte avec phrase init --host https://api.us.app.phrase.com/v2
. Si la configuration a déjà été générée, ajoutez ce code :
phrase: host: https://api.us.app.phrase.com/v2
Vous pouvez contrôler comment le client pousse et tire les fichiers en modifiant le fichier de configuration .phrase.yml
.
-
Initialisez un projet.
Initialisez le projet en exécutant
phrase init
. Cela définit notamment le format de fichier préféré pour les paramètres régionaux ou encore les fichiers source :$ phrase init
-
Chargez les fichiers de paramètres régionaux.
Utilisez la sous-commande
push
pour charger les fichiers de paramètres régionaux :$ phrase push
-
Téléchargez les fichiers de paramètres régionaux.
Utilisez la sous-commande
pull
pour télécharger les fichiers de paramètres régionaux les plus récents dans un projet :$ phrase pull
-
Plus de sous-commandes.
Pour voir la liste de toutes les sous-commandes disponibles, lancez
phrase
sans spécifier de sous-commande. Pour voir toutes les options prises en charge pour une sous-commande donnée, utilisez le drapeau--help
:$ phrase locales list --help
Exemple de fichier de configuration.
Règles d'échappement et utilisation des guillemets
Lors du passage d'objets JSON sur la ligne de commande, les règles d'échappement et l'utilisation des guillemets peuvent varier en fonction du shell utilisé.
Si vous utilisez un shell Windows, mettez toute la chaîne JSON entre des guillemets doubles ""
et échappez les guillemets doubles dans JSON en utilisant un caractère barre oblique inverse \
. Par exemple :
phrase locales create --project_id PROJECT123 --data "{\"name\":\"French\", \"code\":\"fr\"}" --access_token TOKEN123123
Accès aux points de terminaison API
Le client peut être utilisé pour accéder à tous les points de terminaison API. Par exemple, pour lister tous les projets :
$ phrase projects list --access_token ACCESS_TOKEN
Authentification à l'aide des informations d’identification Phrase
Spécifiez le nom d’utilisateur avec le drapeau --username
et le mot de passe sera demandé :
$ phrase projects list --username user@example.com Password: ********
Si l'authentification à deux facteurs est activée pour l'utilisateur ou l'organisation, un jeton multifacteur valide doit être fourni via le drapeau --tfa
:
$ phrase projects list --username user@example.com --tfa Password: ******** TFA: ********
Authentification à l'aide d'un jeton d’accès
Utilisez le drapeau --access_token
pour spécifier votre jeton d’accès :
$ phrase projects list --access_token ACCESS_TOKEN
ou utilisez la variable d'environnement PHRASE_ACCESS_TOKEN
pour stocker votre jeton :
export PHRASE_ACCESS_TOKEN="ACCESS_TOKEN"
Si l'authentification à deux facteurs est activée, un jeton multifacteur valide doit être fourni via le drapeau --x_phrase_app_otp
:
$ phrase projects list --access_token ACCESS_TOKEN --x_phrase_app_otp PASSWORD
Le jeton peut également être fourni en mode interactif avec le drapeau --tfa
:
$ phrase projects list --access_token ACCESS_TOKEN --tfa TFA: ********
Le jeton d'accès est lu par défaut dans le fichier de configuration .phrase.yml
, mais le comportement peut être remplacé en utilisant les drapeaux ou les variables d'environnement mentionnés ; le jeton fourni via le drapeau ou la variable d’environnement est alors utilisé. Les jetons fournis par le biais de drapeaux remplacent ceux fournis par la variable d'environnement.
Lors du stockage du fichier .phrase.yml
dans un référentiel de code, il est recommandé de retirer d'abord le jeton et utiliser d'autres méthodes, comme passer le jeton dans l'environnement ou signaler une ligne de commande. Stocker des authentifiants secrets directement dans un référentiel peut poser un problème de sécurité.
Commandes Push et Pull
Utilisez les commandes push et pull pour charger et télécharger les fichiers de paramètres régionaux. En lieu et place des arguments de ligne de commande, les commandes Push et Pull reposent sur la configuration stockée dans le fichier de configuration .phrase.yml
dans le dossier racine du projet.
Si l'option
est définie sur true, la commande push écrase les traductions. La commande Pull écrase toujours les traductions dans le fichier local.Exemple de configuration pour charger et télécharger des fichiers de paramètres régionaux d'une application Rails type :
phrase: access_token: "ACCESS_TOKEN" project_id: "PROJECT_ID" file_format: "yml" push: sources: - file: "./config/locales/<locale_name>.yml" pull: targets: - file: "./config/locales/<locale_name>.yml"
Utilisez la commande push pour charger des fichiers de paramètres régionaux dans le projet identifié par project_id
correspondant au fichier de.yml
et en.yml
dans le dossier config/locales. S'il y a de nouvelles clés, celles-ci seront ajoutées au fichier de localisation :
$ phrase push Uploading config/locales/de.yml Uploaded config/locales/de.yml successfully. Uploading config/locales/en.yml Uploaded config/locales/en.yml successfully.
Utilisez la commande pull pour télécharger les fichiers de paramètres régionaux du projet identifié par project_id
vers leurs chemins de fichiers respectifs. S’il y a de nouvelles clés, celles-ci seront ajoutées au projet :
$ phrase pull Downloaded de to config/locales/de.yml Downloaded en to config/locales/en.yml
Prise en charge de la limite de débit
Le client prend en charge la limite de débit pour les téléchargements des paramètres régionaux. Lorsque la limite de débit est atteinte, le client attend que la limite de débit ait expiré et poursuit le téléchargement des paramètres régionaux ultérieurement. Le client affiche Limite de débit dépassée. Le téléchargement reprendra dans x secondes.
Commande Upload cleanup
La commande Upload cleanup est fournie pour supprimer les clés qui se trouvent dans le projet, mais qui ne sont pas contenues dans le fichier chargé. Après avoir poussé les fichiers de paramètres régionaux, il peut être nécessaire de supprimer toutes les clés qui ne sont pas contenues dans des paramètres régionaux par défaut ou dans d’autres paramètres régionaux :
$ phrase uploads cleanup --id <YOUR_UPLOAD_ID>
Options de format
Plusieurs formats, comme le format CSV, prennent en charge des options de format supplémentaires pendant le chargement. Accédez à ces options en préfixant les options par --format_options
:
phrase uploads create \ --project_id PROJECT_ID \ --file ./en.csv \ --file_format csv \ --locale_mapping ‘{“en”:3, “de”:2}’ \ --format_options ‘{“key_index”:1}’ \ --access token YOUR_ACCESS_TOKEN
Préfixe de clé de traduction
Un préfixe clé traduction empêche les collisions clés entre différents projets ou fichiers et améliore la traçabilité des clés de traduction. L'interface CLI prend en charge la gestion des préfixes clés pour les opérations pull et push.
-
Paramètres push :
-
translation_key_prefix
: Le préfixe spécifié est fonction de la poussée des clés de traduction.-
Utilisez l'espace réservé magique
<file_path>
pour définir automatiquement letranslation_key_prefix
sur le chemin du fichier actuel. Le chemin comporte une longueur maximale de 255 caractères.
-
-
-
Paramètres pull :
-
translation_key_prefix
: Ce paramètre permet de soustraire le préfixe des noms de clé de traduction lors de l'opération pull.-
Utilisez l'espace réservé magique
<file_path>
pour définir automatiquement letranslation_key_prefix
sur le chemin du fichier actuel. Le chemin comporte une longueur maximale de 255 caractères.
-
-
filter_by_prefix
: Une option booléenne qui filtre les clés de traduction en fonction du préfixe avant de les tirer.
-
Exemple de configuration du fichier Phrase.yml
:
phrase: access_token: accéder_token file_format: yml push: sources: - fichier : chemin/vers/votre/fichier.yml project_id: project_id params: locale_id: fr traduction_key_prefix: préfixe_ pull: targets: - fichier : chemin/vers/votre/fichier.yml project_id: project_id params: traduction_key_prefix: préfixe_ filter_by_prefix: true
Exemple de commandes Curl :
curl "https://api.phrase.com/v2/projects/:project_id/uploads?translation_key_prefix=prefix_" \ -u USERNAME_OR_ACCESS_TOKEN \ -X POST \ -F file=@/chemin/vers/mon/fichier.format \ -F file_format=format \ -F locale_id=locale_id
curl "https://api.phrase.com/v2/projects/:project_id/locales/:Identifiant/download?file_format=file_format&translation_key_prefix=prefix_&filter_by_prefix=true" \ -u USERNAME_OR_ACCESS_TOKEN
Proxy
Si derrière un proxy, spécifiez les paramètres proxy à l'aide de la variable d'environnement HTTPS_PROXY
:
export HTTPS_PROXY=https://user:password@host:port
Plusieurs fichiers de localisation pour un projet
Utilisez un fichier pour chacun des paramètres régionaux dans un projet. Si des outils ou un framework obligent à utiliser plusieurs fichiers, reportez-vous à la section Conserver les structures des fichiers pour plus de détails sur la façon de configurer le projet.
Plusieurs projets pour un projet de localisation
Lorsque vous travaillez sur un grand projet de localisation, répartissez les traductions sur plusieurs projets. Configurez l’ILC pour travailler avec plusieurs fichiers de localisation pour un même projet de localisation.
Options de format
Certains formats de fichiers permettent de spécifier des options de format pour disposer d'un plus grand contrôle sur la syntaxe des fichiers. Spécifiez les options de format dans le fichier de configuration .phrase.yml
.
phrase: pull: targets: - file: file.xml params: format_options: convert_placeholder: true push: sources: - file: file.csv params: format_options: column_separator: ";"
Configuration pour les projets Android
Android n'utilise pas les codes de langue ISO standard comme motif de fichier. Spécifiez le motif requis dans .phrase.yml
.
Spécifiez explicitement chacun des paramètres régionaux dans le fichier .phrase.yml
. Cet exemple montre une configuration .phrase.yml
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