Extensions de fichiers |
.po |
Extension d'API |
gettext |
Import |
oui |
Export |
oui |
Prise en charge des formes plurielles |
oui |
Prise en charge de la description |
oui |
Options de format |
|
.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 Localizable Strings sont extraites du code source dans un fichier BDC pour être traduites. 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ù la traduction va.
gettext extrait Strings du code source dans un .POT (modèle objet portable). En fonction des paramètres régionaux définis, gettext convertit ensuite le fichier .BDC en fichiers .PO spécifiques aux paramètres régionaux pour le charger dans un outil TAO pour effectuer la traduction. Après traduction, gettext convertit les fichiers BDC traduits en fichiers .MO (fichiers objet machine) éventuellement utilisés pour la localisation.
Les fichiers .BDC sont identiques aux fichiers .POT sauf que les fichiers .POT sont généralement utilisés par gettext pour générer des fichiers .BDC spécifiques aux paramètres régionaux. Traduire directement un fichier .POT et le renommer en fonction des paramètres régionaux prévus ultérieurement ne génère pas de problèmes. Phrase prend en charge la traduction de :
-
Fichiers .BDC
-
Fichiers .BDC bilingues
-
Fichiers .MO lisibles par machine
msgctxt
sera utilisé comme préfixe clé, combiné à 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 de la valeur |
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 à partir du fichier chargé : contenu source sera repris à partir de la valeur |
Exemple de code
msgid "" msgstr "" "Langue : Anglais\n" "Version MIME : 1.0\n" "Type de contenu : texte/brut ; charset=UTF-8\n" "Encodage de transfert de contenu : 8bit\n" "Formes plurielles : 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 la description incroyable pour cette clé ! msgid "key_with_description" msgstr "Regardez ça ! Cette clé a une description ! (Au moins dans certains formats)" msgid "key_with_line-break" msgstr "This traductions contain\na line-break." msgid "nested.deeply.key" msgstr "Wow, 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] "Une seule pluralisation trouvée." msgstr[1] "Ouah, vous avez %s pluralisations !" 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 type :
# description (facultatif) msgid "clé" msgstr "Ma traduction"
En-tête gettext
L'en-tête d'un fichier gettext peut contenir un nom de paramètres régionaux et des données pour les formes plurielles qui sont extraites en important :
msgid "" msgstr "" "Langue : fr\n" "Version MIME : 1.0\n" "Type de contenu : texte/brut ; charset=UTF-8\n" "Encodage de transfert de contenu : 8bit\n" "Formes plurielles : nplurals=2 ; plural=(n != 1) ;\n" "X-Generator : PhraseApp (phraseapp.com)\n"
Descriptions
Les commentaires d’un fichier gettext sont ajoutés comme descriptions clés pendant importer :
# Ceci est ma description msgid "app_title" msgstr "Mon projet logiciel"
Contexte
gettext utilise la notation msgctxt
pour distinguer différents contextes pour un même msgid
. Chaque nom de clé doit être unique donc msgctxt
est ajouté comme première partie du nom de clé, séparé par deux symboles pipe ||
:
"menu" msgctxt msgid « Ouvert » msgstr "Je suis une traduction" "forum" msgctxt msgid « Ouvert » msgstr "Je suis une autre traduction"
Pour ajouter le msgctxt
à une nouvelle clé, faites-le précéder 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. La correspondance approximative invoque automatiquement le processus de non-vérification dans Phrase.
#, correspondance approximative msgid "app_title" msgstr "Mon projet logiciel"