|
Extensions de fichiers |
.po |
|
API Extension |
gettext |
|
Import |
Oui |
|
Exporter |
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 lors du chargement et/ou du téléchargement d'un fichier. En fonction de la méthode de chargement/téléchargement (API, CLI, synchronisation de dépôt, etc.), elles peuvent être spécifiées dans les paramètres de requête |
|
.BDC (Objet Portable) 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 chaînes localisables sont extraites du code source dans un fichier .BDC pour 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ù la traduction va.
gettext extrait les chaînes du code source dans un .POT (modèle d'objet portable). En fonction des paramètres régionaux définis, gettext convertit ensuite le fichier .POT en fichiers .BDC spécifiques à la région pour le chargement dans un outil CAT pour traduction. Après traduction, gettext convertit les fichiers .BDC traduits en fichiers .MO (fichiers d'objet machine) utilisés finalement pour la localisation.
.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 à la région. La traduction d'un fichier .POT directement et son renommage selon le paramètre linguistique prévu ultérieurement ne pose pas de problèmes. Phrase prend en charge la traduction de :
-
.PO fichiers
-
Fichiers .PO bilingues
-
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 |
|
Charger |
true |
|
Télécharger |
faux |
|
Par défaut |
faux |
|
Description |
Prend le contenu de traduction de la valeur |
|
Identifiant |
is_bilingual_file |
|
Type |
Booléen |
|
Charger |
true |
|
Télécharger |
faux |
|
Par défaut |
faux |
|
Description |
Les traductions source et cible seront importées depuis le fichier téléchargé : le contenu source sera récupéré de la valeur |
Exemple de code
msgid "" msgstr "" "Langue : Anglais\n" "MIME-Version : 1.0\n" "Type de contenu : text/plain; charset=UTF-8\n" "Encodage de transfert de contenu : 8bit\n" "Formes plurielles : nplurals=2; plural=(n != 1);\n" "X-Générateur : 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 "Vérifiez-le !" 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 "Ouah, cette clé est imbriquée encore plus profondément." msgid "nested.key" msgstr "Cette clé est imbriquée à l'intérieur d'un nom de domaine." msgid "null_translation" msgstr "" msgid "pluralized_key" msgid_plural "" "Une pluralisation unique trouvée." "Ouah, %s pluralisations !" msgid "sample_collection" "---\n- premier élément\n- deuxième élément\n- troisième élément\n" msgid "simple_key" "clé simple, message simple, tellement simple." #, correspondance approximative msgid "unverified_key" "J'ai besoin de vérification, veuillez me vérifier !" "(Dans certains formats, nous exportons également ce statut)"
"Entrée typique de gettext :"
"# description (Optionnel)" "key-name" "Ma Traduction"
"En-tête gettext"
"L'en-tête d'un fichier gettext peut contenir un nom de paramètre linguistique et des données pour les formes plurielles qui sont extraites lors de l'importation :"
msgid "" msgstr "" "Langue : fr\n" "MIME-Version : 1.0\n" "Type de contenu : text/plain; charset=UTF-8\n" "Encodage de transfert de contenu : 8bit\n" "Formes plurielles : nplurals=2; plural=(n != 1);\n" "X-Générateur : PhraseApp (phraseapp.com)\n"
Descriptions
"Les commentaires dans un fichier gettext sont ajoutés comme descriptions de clés 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 de pipe || :
msgctxt "menu" msgid "Ouvrir" msgstr "Je suis une traduction" msgctxt "forum" msgid "Ouvrir" msgstr "Je suis une autre traduction"
Pour ajouter le msgctxt à une nouvelle clé, il faut le préfixer au 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 "nouveaux_messages"
msgid_plural ""
msgstr[0] "Vous avez un nouveau message"
msgstr[1] "Vous avez %{count} nouveaux messages"
Correspondance approximative
Le mot-clé fuzzy est utilisé pour la vérification des traductions. Fuzzy invoque automatiquement le processus de non-vérification dans Phrase.
#, correspondance approximative msgid "app_title" msgstr "Mon projet logiciel"