Traduire les fichiers .properties Java
Un fichier .properties est un ensemble de lignes clé=valeur où les valeurs contiennent des arguments {0} pour MessageFormat. KAERIS traduit les valeurs, conserve vos commentaires et l'ordre des clés, et écrit le fichier en pur ASCII pour que Java le lise partout.
KAERIS a traduit cette page et vérifié chaque ligne en la retraduisant. Un locuteur natif ne l'a pas encore revue. Original anglais
Comment un fichier .properties est construit
clé=valeur, clé: valeur ou clé valeur, commentaires avec # ou !, continuation de ligne avec une barre oblique inverse finale. Les anciennes versions de Java lisaient les bundles en ISO-8859-1, donc le texte non latin est écrit sous forme de \uXXXX, que toutes les versions lisent.
# Login form login.title=Sign in to {0} login.attempts=You have {0} attempts left cart.total=Total: {0,number,currency} about.url=https\://example.com/about help.text=Need help?\nWrite to [email protected]
Ce à quoi il faut faire attention dans les traductions .properties
Arguments MessageFormat
{0},{1}et ceux typés comme{0,number,currency}doivent revenir intacts. Dans l'exécution réelle ci-dessous,{0,number,currency}est revenu typé ; un argument modifié ou perdu serait signalé.Encodage
La sortie est en ASCII : un « ö » allemand ou un caractère japonais est écrit sous forme d'échappement
\u, que toutes les versions de Java lisent.Guillemets dans MessageFormat
Dans MessageFormat de Java, un guillemet simple commence une section entre guillemets, donc un modèle qui utilise des arguments a besoin de
''pour une apostrophe. Vérifiez les chaînes avec des apostrophes dans l'application après la traduction.Échappements et URL
\ndans une valeur reste un saut de ligne. Un\:dans une URL est réécrit comme un simple deux-points, ce qui est également valide.
Une vraie exécution : traduite en allemand et vérifiée
Une exécution réelle, le 27 octobre 2026, rien édité à la main : kaeris translate messages.properties --langs de avec kaeris 0.2.35, 3,3 secondes, modèle openai/gpt-4.1-mini (le modèle de repli du service a répondu à cette tâche). Ci-dessous, le fichier allemand qu'il a écrit et ce que kaeris check en dit.
# Generated by KAERIS i18n Tool - de # Login form login.title=Anmelden bei {0} login.attempts=Sie haben noch {0} Versuche cart.total=Gesamt: {0,number,currency} about.url=https://example.com/about help.text=Brauchen Sie Hilfe?\nSchreiben Sie an [email protected]
$ kaeris check --source messages.properties --langs de ✓ de: complete & placeholder-safe ✓ all locales complete & placeholder-safe
Ce que KAERIS en fait
Commentaires et ordre conservés
Les lignes de commentaires, les lignes vides et l'ordre des clés sont réémis autour des valeurs traduites, et un en-tête d'une ligne avec la langue est ajouté.
Arguments comptés
Un
{0}perdu ou un type modifié est trouvé sans modèle.Vérification gratuite pour ce format
La vérification gratuite sur la page /check lit ce format et s'exécute sans clé ni compte. La commande terminal
kaeris checkla lit aussi : elle prend les 13 formats depuis kaeris 0.2.35, avec les mêmes règles et rien n'est envoyé ailleurs.
Exécutez-le en trois étapes
Installer le CLI
Exécutez
pip install kaeris.Traduire le bundle
Exécutez
kaeris translate messages.properties --langs de,ja.Vérifier le résultat
Téléversez la source et le bundle traduit sur la page de vérification gratuite.
pip install kaeris kaeris translate src/main/resources/messages.properties --langs de,ja --verify
Questions
Écrit-il en UTF-8 ou avec des échappements \u ?
Échappements. Le fichier de sortie est en ASCII, avec les caractères non-ASCII écrits sous forme de \uXXXX.
Mes commentaires sont-ils conservés ?
Oui. Les commentaires et les lignes vides de la source sont réécrits à leur place, et une ligne d'en-tête nommant la langue est ajoutée.
Est-ce gratuit ?
Oui, sans compte : 10 000 caractères par fichier et jusqu'à 8 langues par exécution. Une clé API gratuite augmente la limite de fichiers à 50 000 caractères. La licence à vie est de 79 $ une fois, sur votre propre clé OpenRouter ; les plans mensuels commencent à 19 $. Tarifs
Puis-je l'exécuter depuis le terminal ou en CI ?
Oui. pip install kaeris, puis kaeris translate messages.properties --langs de,ja. Le GitHub Action exécute la même traduction dans une pull request. Docs CLI · GitHub Action
Continuer
Référence CLI · Référence Check · Traduire dans le navigateur · Vérification gratuite · Convertir les formats · Localisation fictive
Autres formats : JSON · YAML · .po · ARB · XLIFF · .strings · .xcstrings · .resx · CSV · Markdown · Fluent · Android XML