|
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 Ces options qui peuvent être spécifiées lors du téléchargement et/ou de l'upload d'un fichier. Selon la méthode d'upload/download (API, CLI, synchronisation de dépôt, etc.), elles peuvent être spécifiées dans les paramètres de requête |
|
.PO (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 chaînes localisables sont extraites du code source dans un fichier PO pour traduction. Un fichier .PO 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 locales définies, gettext convertit ensuite le fichier .POT en fichiers .PO spécifiques à la locale pour upload dans un outil CAT pour traduction. Après traduction, gettext convertit les fichiers .PO traduits en fichiers .MO (fichiers d'objet machine) utilisés finalement pour la localisation.
.Les fichiers .PO sont identiques aux fichiers .POT sauf que les fichiers .POT sont généralement utilisés par gettext pour générer des fichiers .PO spécifiques à la locale. Traduire un fichier .POT directement et le renommer selon la locale prévue ultérieurement ne pose pas de problèmes. Phrase prend en charge la traduction de :
-
.Fichiers .PO
-
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 |
|
Chargement |
vrai |
|
Téléchargement |
false |
|
Par défaut |
false |
|
Description |
Prend le contenu de traduction de la valeur |
|
Identifiant |
est_fichier_bilingue |
|
Type |
Booléen |
|
Chargement |
vrai |
|
Téléchargement |
false |
|
Par défaut |
false |
|
Description |
Les traductions source et cible seront importées du fichier uploadé : le contenu source sera récupéré de la valeur |
Exemple de code
msgid "" msgstr "" "Langue: Anglais\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: PhraseApp (phraseapp.com)\n" msgid "boolean_key" msgstr "--- vrai\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 "" msgstr[0] "Une pluralisation unique trouvée." msgstr[1] "Ouah, %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" #, fuzzy msgid "unverified_key" msgstr "J'ai besoin de vérification, s'il vous plaît vérifiez-moi !" (Dans certains formats, nous exportons également ce statut)"
Entrée typique de gettext :
# description (Optionnel) msgid "key-name" msgstr "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 : en\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-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 la 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é, préfixez-le 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 "new_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 de la traduction. La correspondance approximative invoque automatiquement le processus de non-vérification au sein de la Phrase.
#, fuzzy msgid "app_title" msgstr "Mon projet logiciel"