Skip to main content
AI agent network visualization

Traduisez vos fichiers .strings sans casser votre application

Clés intactes. Spécificateurs de format préservés. Règles de pluriel correctes. Votre fichier Localizable.strings traduit en quelques secondes, pas en plusieurs jours.

La traduction des fichiers Apple .strings est fastidieuse et source d'erreurs

Vous exportez votre fichier Localizable.strings, le confiez à un traducteur ou le collez dans un outil générique, puis récupérez des spécificateurs de format corrompus, des séquences d'échappement cassées et des règles de pluriel altérées. Vous passez ensuite des heures à comprendre pourquoi votre application plante au lancement en japonais.

Les spécificateurs de format comme %@, %d et %1$@ sont traduits, réordonnés ou supprimés par les outils génériques

Les séquences d'échappement (\n, \", \t) sont corrompues ou doublement échappées, ce qui casse l'analyse des chaînes

Les règles de pluriel des fichiers stringsdict nécessitent des catégories CLDR propres à chaque langue, que la plupart des outils ignorent totalement

Les commentaires du traducteur et les indices de contexte sont supprimés, ce qui entraîne des traductions erronées

Source (anglais)
Base.lproj/Localizable.strings
/* Localizable.strings (English) */

"welcome_title" = "Welcome to MyApp";
"login_button" = "Sign In";
"greeting" = "Hello, %@!";
"items_count" = "%d items in your cart";
"transfer" = "Send %1$@ to %2$@";
Traduit (japonais)
ja.lproj/Localizable.strings
/* Localizable.strings (Japanese) */

"welcome_title" = "MyAppへようこそ";
"login_button" = "サインイン";
"greeting" = "%@さん、こんにちは!";
"items_count" = "カートに%d個のアイテム";
"transfer" = "%2$@に%1$@を送信";

Ce que i18n Agent préserve

Spécificateurs de format

Les spécificateurs positionnels (%1$@) et spécifiques au type (%d, %f, %@) sont détectés et laissés intacts

Séquences d'échappement

Les sauts de ligne (\n), les tabulations (\t), les guillemets (\") et les séquences d'échappement Unicode sont correctement préservés

Pluriels Stringsdict

Les catégories de pluriel CLDR (zero, one, two, few, many, other) sont correctement définies pour chaque langue cible

Commentaires et contexte

Les commentaires du traducteur et les notes des développeurs sont préservés afin de conserver le contexte de traduction

Compatible avec toutes les plateformes Apple

SwiftUI
UIKit / AppKit
Catalogues de chaînes Xcode
Applications macOS
watchOS / tvOS
Paquets Swift

Outils open source pour la localisation iOS

i18n Agent pour Xcode

Une application de barre de menus macOS qui ajoute la localisation en un clic à Xcode. Elle détecte automatiquement votre projet actif, traduit vos fichiers .strings, .xcstrings et .stringsdict, puis les écrit dans les répertoires .lproj appropriés. Envoyez vos traductions existantes comme mémoire de traduction pour des résultats cohérents dans tout votre projet.

Détecte automatiquement votre projet Xcode actif via AppleScript
Récupération : traduit les fichiers et les écrit dans les répertoires .lproj appropriés
Envoi : envoie les traductions existantes comme mémoire de traduction
Réside dans votre barre de menus, compatible avec .strings, .xcstrings et .stringsdict
Voir sur GitHub

LocaleChain

iOS présente une lacune connue : lorsque la locale régionale d'un utilisateur (comme pt-BR) est absente, le système passe directement à l'anglais au lieu d'essayer une locale associée (comme pt-PT). LocaleChain est un paquet Swift qui corrige ce problème grâce à des chaînes de repli configurables. Une ligne de configuration, aucune modification de votre code existant.

Configuration en une ligne : LocaleChain.configure()
Fonctionne de manière transparente avec NSLocalizedString, SwiftUI Text et .stringsdict
Chaînes de repli intégrées pour le portugais, l'espagnol, le français, l'allemand et bien d'autres
S'installe via Swift Package Manager, sous licence MIT
Voir sur GitHub

Fonctionnement

How i18n Agent works: Install, Translate, Done
1
2
3
terminal
$translate_filesrc/messages/en.json
 --target["de", "ja", "es"]
Done.3 languages, 142 keys translated.

Aucun copier-coller manuel. Aucune extraction de chaînes. Juste des fichiers traduits.

Essayez i18n Agent maintenant

Déposez votre fichier de traduction ici

JSON, YAML, PO, XML, CSV, Markdown, Properties

ou cliquez pour parcourir

Langues cibles

Aucune inscription requiseEstimation instantanée

Questions fréquentes

Développeur ?

Installez l'outil CLI et traduisez votre premier fichier en 2 minutes.

Installer l'outil CLI

Une équipe en entreprise ?

Encore sous contrat avec un TMS ? Parlons de votre migration.