Types de fichiers pris en charge (Strings)

.BDC - fichiers gettext (Strings)

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

Extensions de fichier 

.po

Extension d'API 

gettext

Importer 

oui

Export 

oui

Prise en charge des formes plurielles 

oui

Prise en charge de la description 

oui

Options de format

Ces options peuvent être spécifiées lorsqu'un fichier est chargé et/ou Télécharger. Selon la méthode de charger/Télécharger (API, CLI, synchronisation de dépôt, etc.), elles peuvent être spécifiées dans les paramètres de requête charger, Télécharger ou dans le fichier de configuration Phrase.yml.

  • msgid_as_default

  • is_bilingual_file

.BDC (Portable Object) est le format de fichier standard pour la localisation avec GNU gettext, une bibliothèque GNU open-source conçue pour simplifier le processus de localisation. Avec GNU gettext, les Strings localisables sont extraites du code source dans un fichier .BDC pour la traduction. Un fichier .BDC est une série de paires clé-valeur. La clé msgid est l'endroit où la chaîne source est placée, tandis que la valeur msgstr est l'endroit où va la traduction.

gettext extrait les Strings du code source dans un .POT (modèle d'objet portable). En fonction des paramètres linguistiques définis, gettext convertit ensuite le fichier .POT en fichiers .BDC spécifiques au paramètre linguistique pour les charger dans un outil TAO pour la traduction. Après la traduction, gettext convertit les fichiers .BDC traduits en fichiers .MO (fichiers objets machine) finalement utilisés pour la localisation.

Les fichiers .BDC sont identiques aux fichiers .POT, à l'exception que les fichiers .POT sont généralement utilisés par gettext pour générer des fichiers .BDC spécifiques au paramètre linguistique. Traduire un fichier .POT directement et le renommer en fonction du paramètre linguistique prévu ultérieurement ne pose pas de problème. Phrase prend en charge la traduction de :

  • Fichiers .BDC

  • Fichiers .BDC bilingues

  • Fichiers .POT 

  • Fichiers .MO lisibles par machine

msgctxt sera utilisé comme préfixe de clé, combiné avec msgid et séparé par ||

Options de format

Identifiant

msgid_as_default

Type

Booléen

Chargement

vrai

Téléchargement

false

Par défaut

false

Description

Prend le contenu de traduction à partir de la valeur msgid au lieu de msgstr

Identifiant

is_bilingual_file

Type

Booléen

Chargement

vrai

Téléchargement

false

Par défaut

false

Description

Les traductions source et cible seront importées depuis le fichier téléchargé : le contenu source sera récupéré depuis la valeur msgid, la cible depuis la valeur du msgstr

Exemple de code

msgid ""
msgstr ""
"Langue : Anglais\n"
"MIME-Version : 1.0\n"
"Contenu-Type : text/plain; charset=UTF-8\n"
"Contenu-Transfer-Encoding : 8bit\n"
"Plural-Forms : nplurals=2; plural=(n != 1);\n"
"X-Generator : PhraseApp (phraseapp.com)\n"

msgid "boolean_key"
msgstr "--- true\n"

msgid "empty_string_translation"
msgstr ""

# Ceci est l'incroyable description pour cette clé !
msgid "key_with_description"
msgstr "Jetez-y un œil ! Cette clé a une description ! (Au moins dans certains formats)"

msgid "key_with_line-break"
msgstr "Cette traduction contient\nun saut de ligne."

msgid "nested.deeply.key"
msgstr "Hé, cette clé est imbriquée encore plus profondément."

msgid "nested.key"
msgstr "Cette clé est imbriquée à l'intérieur d'un espace de noms."

msgid "null_translation"
msgstr ""

msgid "pluralized_key"
msgid_plural ""
msgstr[0] "Only one pluralization found."
msgstr[1] "Wow, you have %s pluralizations!"

msgid "sample_collection"
msgstr "---\n- premier élément\n- deuxième élément\n- troisième élément\n"

msgid "simple_key"
msgstr "simple clé, message simple, tellement simple.2"

#, correspondance approximative
msgid "unverified_key"
msgstr "J'ai besoin d'une vérification, veuillez me vérifier !" (Dans certains formats, nous exportons également ce statut)"

Entrée gettext typique : 

# description (Optionnel)
msgid "key-name"
msgstr "Ma traduction"

En-tête gettext

L'en-tête d'un fichier gettext peut contenir un paramètre linguistique et des données pour les formes plurielles qui sont extraites lors de l'importation :

msgid ""
msgstr ""
"Language: fr\n"
"MIME-Version : 1.0\n"
"Contenu-Type : text/plain; charset=UTF-8\n"
"Contenu-Transfer-Encoding : 8bit\n"
"Plural-Forms : nplurals=2; plural=(n != 1);\n"
"X-Generator : PhraseApp (phraseapp.com)\n"

Descriptions

Les commentaires dans un fichier gettext sont ajoutés en tant que descriptions de clé lors de l'importation :

# Ceci est ma description
msgid "app_title"
msgstr "Mon projet logiciel"

Contexte

gettext utilise la notation msgctxt pour distinguer différents contextes pour le même msgid. Chaque nom de clé doit être unique, donc msgctxt est ajouté comme première partie du nom de la clé, séparé par deux symboles barre verticale || :

msgctxt "menu"
msgid "Open"
msgstr "Je suis une traduction"

msgctxt "forum"
msgid "Open"
msgstr "Je suis une autre traduction"}}}e-mail:

Pour ajouter le msgctxt à une nouvelle clé, ajoutez-le au début du nom de la clé :

my_context||my_key_name

Sortie gettext résultante :

...
msgctxt "my_context"
msgid "my_key_name"
...

Formes plurielles

gettext prend en charge les formes plurielles pour une traduction :

msgid "new_messages"
msgid_plural ""
msgstr[0] "Vous avez un nouveau message"
msgstr[1] "Vous avez %{count} nouveaux messages"

Correspondance approximative

Le mot-clé correspondance approximative est utilisé pour la vérification de la traduction. Correspondance approximative invoque automatiquement le processus de non-vérification au sein de Phrase.

#, correspondance approximative
msgid "app_title"
msgstr "Mon projet logiciel"
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.