Traduire les fichiers iOS .strings
Un fichier .strings est une liste de lignes "key" = "value"; où la valeur contient des spécificateurs de format comme %@. KAERIS traduit les valeurs et vérifie que chaque spécificateur est toujours présent.
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 .strings est construit
Une "key" = "value"; par ligne, des notes en /* … */. Les valeurs échappent les guillemets et les sauts de ligne avec une barre oblique inverse. Les pluriels ne vivent pas ici : Xcode utilise .stringsdict ou un catalogue de chaînes pour eux, et KAERIS lit .strings et .xcstrings.
/* Greeting on the home screen */ "welcome" = "Welcome back, %@!"; "items_count" = "%1$d of %2$d items synced"; "quote" = "Press \"Done\" to continue.";
Ce à quoi il faut faire attention dans les traductions .strings
Spécificateurs %@ et positionnels
%@,%det%1$dsont des espaces réservés. Dans une langue qui réordonne les mots, la forme positionnelle maintient les arguments corrects ; un spécificateur modifié ou manquant est signalé.Échappements
\"et\nà l'intérieur d'une valeur sont lus et réécrits correctement, de sorte qu'un guillemet dans une traduction ne termine pas la chaîne.Les notes restent dans la source
Les commentaires
/* … */ne sont pas reportés dans le fichier traduit, qui reçoit un commentaire de langue d'une seule ligne. Gardez le contexte pour les traducteurs dans le fichier source.Longueur
L'allemand et le finnois sont souvent plus longs que l'anglais. La vérification avertit lorsqu'une traduction est beaucoup plus longue que la source, ce qui est important pour les boutons.
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 Localizable.strings --langs de avec kaeris 0.2.35, 4 secondes, modèle openai/gpt-4.1-mini (le modèle de secours du service a répondu à cette tâche). Ci-dessous, le fichier allemand qu'il a écrit et ce que kaeris check en dit.
/* de */ "welcome" = "Willkommen zurück, %@!"; "items_count" = "%1$d von %2$d Elementen synchronisiert"; "quote" = "Drücken Sie \"Fertig\", um fortzufahren.";
$ kaeris check --source Localizable.strings --langs de ✓ de: complete & placeholder-safe ✓ all locales complete & placeholder-safe
Ce que KAERIS en fait
Clés et ordre conservés
Chaque clé est réécrite avec sa valeur traduite.
Spécificateurs comptés
Un
%@ou%1$dperdu ou 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 fichier
Exécutez
kaeris translate en.lproj/Localizable.strings --langs de,ja.Vérifier le résultat
Téléversez la source et la traduction sur la page de vérification gratuite.
pip install kaeris kaeris translate en.lproj/Localizable.strings --langs de,ja --verify
Questions
Conserve-t-il %@ et %1$d ?
Oui. Les spécificateurs sont comparés à la source après traduction et un spécificateur perdu ou modifié est signalé. Dans l'exécution réelle ci-dessus, %@, %1$d et %2$d sont tous revenus.
Qu'en est-il des pluriels ?
.strings n'a pas de syntaxe de pluriel. Xcode conserve les pluriels dans .stringsdict ou dans un catalogue de chaînes ; KAERIS lit le catalogue et développe les pluriels par langue, voir la page .xcstrings.
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 en.lproj/Localizable.strings --langs de,ja. Voir aussi iOS. 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 · .xcstrings · .properties · .resx · CSV · Markdown · Fluent · Android XML