Traduire des fichiers Java, INI, Fluent et PHP
Traduisez des fichiers Java .properties, INI, Joomla, Inno Setup et .lang, des fichiers Mozilla Fluent .ftl et des fichiers de langue PHP jusqu’à 4 MB, tout en conservant les clés, les commentaires et les espaces réservés.
Cette page regroupe quatre formats de ressources qui ont la même promesse : les clés et la structure restent intactes, seules les valeurs changent. La taille maximale est de 4 MB pour chacun. Chaque format a ses propres règles concernant les guillemets et les espaces réservés, détaillées ci-dessous. Les quatre formats contiennent une langue par fichier.
Java properties (.properties)
Les clés, le séparateur (= ou :), les commentaires et les lignes vides sont conservés tels quels. Les espaces réservés MessageFormat, tels que {0} et {0,number,currency}, conservent leur index et leur type de format. Le bundle est lu et écrit en UTF-8 : convertissez d’abord les anciens bundles ISO-8859-1 en UTF-8. Les valeurs qui se poursuivent sur la ligne suivante à l’aide d’une barre oblique inverse en fin de ligne ne sont pas encore prises en charge. Seule leur première ligne est traduite. Placez donc chaque valeur sur une seule ligne avant l’importation.
messages.properties devient messages_fr.properties.
Traduisez les valeurs en français. Conservez les espaces réservés MessageFormat tels que {0} et {1,number} sans les modifier, et laissez les clés et les commentaires tels quels.
INI, Joomla, Inno Setup et .lang (.ini, .isl, .lang)
Les clés, les [sections], les commentaires et les guillemets sont conservés tels quels. Le fichier est réécrit ligne par ligne. Ainsi, toute ligne qui ne nécessite pas de traduction est restituée octet pour octet. Les valeurs entre guillemets le restent, et les guillemets présents dans une traduction sont échappés selon les règles déjà utilisées sur la ligne, notamment avec "_QQ_" dans Joomla. Les valeurs sans guillemets sont écrites littéralement, car dans Inno Setup, un guillemet ferait partie du texte. Une valeur INI tient sur une seule ligne : tout saut de ligne dans une traduction est remplacé par une espace. Les fichiers qui ne sont pas en UTF-8 (les fichiers Inno Setup sont souvent en Windows-1252) sont refusés plutôt que convertis. Enregistrez-les d’abord en UTF-8.
Conserve les clés COM_ et les guillemets.
Traduisez les valeurs en allemand. Conservez les espaces réservés tels que %s, %d et [name] sans les modifier, et laissez toutes les clés et tous les commentaires tels quels.
Uniquement les sections de messages d’un fichier .isl.
Traduisez uniquement les sections [Messages] et [CustomMessages] en espagnol. Conservez %1 et %n sans les modifier.
Fluent (.ftl)
Ce format est utilisé par Firefox, Thunderbird et de nombreuses applications. Les identifiants de message, les noms d’attributs et les noms de termes sont restitués exactement tels qu’ils ont été fournis. Les variables telles que { $count } sont protégées, et chaque variante de pluriel ou de sélection ([one], *[other]) est traduite séparément, sans jamais modifier les clés de variante. Le fichier n’est pas remis en forme : chaque traduction est insérée à l’emplacement du texte d’origine. Les accolades littérales et les lignes commençant par [, * ou un point sont échappées pour préserver la validité du fichier.
Traduit les messages, les attributs et chaque variante de pluriel.
Traduisez en italien. Conservez les variables telles que { $count } et { $name } sans les modifier, et traduisez chaque variante de pluriel en tenant compte du contexte.
Fichiers de langue PHP (.php)
Pour les fichiers de langue Laravel, Symfony, CodeIgniter et PrestaShop : les tableaux de messages return [ ... ] ou array( ... ), les affectations $lang[...] et les chaînes $_MODULE. Seules les valeurs constituées de chaînes simples sont modifiées. Les clés de tableau, les arguments de fonction, les concaténations, les heredocs et tout autre code sont restitués exactement tels quels, et chaque chaîne conserve ses guillemets. Les espaces réservés tels que :attribute, {field}, %s et $name sont conservés. Les fichiers PHP qui ne sont pas des fichiers de langue sont refusés plutôt que traités au hasard : AI Glot ne traduit pas le code. Un pluriel Laravel tel que "one apple|:count apples" est une seule chaîne simple. Vérifiez donc que le résultat comporte le nombre de formes requis par votre langue.
Préserve le fonctionnement des espaces réservés :attribute.
Traduisez les messages en portugais. Conservez :attribute, :min, :max et %s sans les modifier, et ne modifiez pas les clés de tableau.
À savoir
- Une langue cible par importation pour les quatre formats. Si vous en demandez deux, le forfait en traduit une et vous l’indique. Traitez le fichier une fois par langue : votre glossaire est réutilisé, de sorte que le fichier allemand reprend les mêmes termes que le fichier français.
- Plusieurs fichiers à la fois. Placez un dossier
langdans une ZIP pour tout traduire en une seule tâche. - Filtre de sortie. Non disponible pour ces formats : le fichier entier est restitué.
- Limite. 4 MB pour les quatre formats.
Formats associés
- YAML et TOML, JSON et gettext PO pour d’autres formats de localisation.
- Tous les formats de fichier