Aller au contenu
Tout en local

Convertisseur PO vers JSON

Convertissez un catalogue gettext .po en JSON et inversement.

Entrée
Sortie

Convertisseur PO vers JSON

Collez un catalogue gettext .po et cet outil convertit chaque paire msgid/msgstr en un objet JSON, prêt à charger dans une bibliothèque i18n JavaScript ou à inspecter à la main. Inversez la direction et cela fonctionne aussi à l'envers, transformant un objet de traduction JSON en un fichier .po valide. Les développeurs l'utilisent pour relier les outils de gestion des traductions qui exportent .po avec les piles front-end qui s'attendent à JSON, sans installer les outils gettext ou écrire un script personnalisé.

Les options contrôlent la forme exacte du JSON. « Imbriquer les clés par msgid pointé » transforme un catalogue plat comme « nav.home » en objets imbriqués au lieu d'une seule clé longue. « Supprimer les entrées sans traduction » filtre les msgids que personne n'a encore traduits. Les formes plurales (msgid_plural plus msgstr[0], msgstr[1]...) deviennent soit un tableau JSON, soit des clés séparées avec suffixe comme key_0 et key_1. Un contexte msgctxt, s'il est présent, peut être intégré à la clé en tant que préfixe context|msgid afin que des chaînes anglaises identiques utilisées dans des endroits différents ne se heurtent pas. Les commentaires, les références source et l'en-tête du catalogue (le bloc de métadonnées en haut de la plupart des fichiers .po) peuvent être conservés ou supprimés.

Les chaînes littérales multilignes et concaténées, les guillemets échappés, les barres obliques inverses et les sauts de ligne sont traités comme gettext les écrit, dans les deux sens. Le compteur en direct rapporte combien d'entrées sont traduites, non traduites et marquées floues, afin que vous puissiez évaluer l'intégrité du catalogue sans ouvrir un éditeur de traduction. Les catalogues très volumineux sont pris en charge ; un résultat qui dépasserait la limite de taille de sortie produit un message au lieu de geler l'onglet.

Tout s'exécute localement dans votre navigateur — un fichier .po contient souvent tout le texte de l'interface utilisateur d'un produit, et rien n'est téléchargé nulle part. Copiez le résultat, téléchargez-le en fichier .txt ou renvoyez-le directement à l'entrée pour le convertir à nouveau dans la direction opposée.

FAQ

Que se passe-t-il avec l'en-tête .po quand je convertis en JSON ?
Avec « Conserver l'en-tête du catalogue » activé, le bloc de métadonnées (msgid "") est inclus en tant qu'objet sous la clé de chaîne vide. Désactivez-la pour obtenir uniquement les chaînes traduites.
Comment les formes plurales sont-elles représentées ?
Avec « Formes plurales sous forme de tableau » activé, les entrées msgid_plural deviennent un tableau JSON de chaque msgstr[n]. Désactivez-la et chaque forme devient sa propre clé avec un suffixe numérique, comme item_0 et item_1.
Puis-je faire un aller-retour à travers les deux directions ?
Oui. Convertissez .po en JSON, modifiez le JSON, puis changez de direction et reconvertissez — les mêmes options (imbrication, préfixe msgctxt, style pluriel) sont utilisées des deux côtés pour que les formes correspondent.
Qu'est-ce qui compte comme une entrée « floue » ?
Une entrée que gettext a marquée avec l'indicateur #, fuzzy, ce qui signifie qu'une machine ou un traducteur précédent l'a rédigée mais elle a encore besoin d'être examinée. Le compteur en direct compte celles-ci séparément des entrées traduites et non traduites.
Mon catalogue de traductions est-il téléchargé quelque part ?
Non. La conversion s'exécute entièrement dans votre navigateur en utilisant JavaScript — votre fichier .po ou JSON ne quitte jamais votre appareil.