Traduire

Traduire les catalogues de chaînes Xcode (.xcstrings)

Un catalogue de chaînes contient chaque langue dans un seul fichier JSON que seul Xcode devrait modifier manuellement. KAERIS ajoute les nouvelles langues dans ce même fichier et laisse tout le reste tel quel.

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 catalogue de chaînes est construit

Un fichier, strings, puis la clé, puis localizations, puis la langue. Chaque langue contient une stringUnit ou des variations pour les pluriels. Le fichier contient également comment, extractionState et shouldTranslate. Une clé sans entrée pour la langue source est son propre texte source.

Fichier sourceLocalizable.xcstrings
{
  "sourceLanguage" : "en",
  "strings" : {
    "Welcome back, %@!" : {
      "comment" : "Greeting on the home screen",
      "extractionState" : "manual",
      "localizations" : {
        "en" : { "stringUnit" : { "state" : "translated", "value" : "Welcome back, %@!" } }
      }
    },
    "%lld items" : {
      "localizations" : {
        "en" : {
          "variations" : {
            "plural" : {
              "one" : { "stringUnit" : { "state" : "translated", "value" : "%lld item" } },
              "other" : { "stringUnit" : { "state" : "translated", "value" : "%lld items" } }
            }
          }
        }
      }
    },
    "Cancel" : { }
  },
  "version" : "1.0"
}

Ce qu'il faut surveiller dans les traductions .xcstrings

Une vraie exécution : traduite en allemand et vérifiée

Une exécution réelle, le 27 octobre 2026, rien modifié à la main : kaeris translate Localizable.xcstrings --langs de avec kaeris 0.2.35, 2,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.

Résultat allemandLocalizable.xcstrings
{
  "sourceLanguage": "en",
  "strings": {
    "Welcome back, %@!": {
      "comment": "Greeting on the home screen",
      "extractionState": "manual",
      "localizations": {
        "en": {
          "stringUnit": {
            "state": "translated",
            "value": "Welcome back, %@!"
          }
        },
        "de": {
          "stringUnit": {
            "state": "translated",
            "value": "Willkommen zurück, %@!"
          }
        }
      }
    },
    "%lld items": {
      "localizations": {
        "en": {
          "variations": {
            "plural": {
              "one": {
                "stringUnit": {
                  "state": "translated",
                  "value": "%lld item"
                }
              },
              "other": {
                "stringUnit": {
                  "state": "translated",
                  "value": "%lld items"
                }
              }
            }
          }
        },
        "de": {
          "variations": {
            "plural": {
              "one": {
                "stringUnit": {
                  "state": "translated",
                  "value": "%lld Artikel"
                }
              },
              "other": {
                "stringUnit": {
                  "state": "translated",
                  "value": "%lld Artikel"
                }
              }
            }
          }
        }
      }
    },
    "Cancel": {
      "localizations": {
        "de": {
          "stringUnit": {
            "state": "translated",
            "value": "Abbrechen"
          }
        }
      }
    }
  },
  "version": "1.0"
}
kaeris checkexit code 0
$ kaeris check --source Localizable.xcstrings --langs de
✓ de: complete & placeholder-safe
✓ all locales complete & placeholder-safe

Ce que KAERIS en fait

Exécutez-le en trois étapes

  1. Installer le CLI

    Exécutez pip install kaeris.

  2. Traduire le catalogue

    Exécutez kaeris translate Localizable.xcstrings --langs de,fr,ja. Le catalogue est mis à jour sur place.

  3. Vérifier le résultat

    Chargez le catalogue sur la page de vérification gratuite ; elle lit la source et les traductions à partir du même fichier.

pip install kaeris
kaeris translate Localizable.xcstrings --langs de,fr,ja --verify

Questions

Écrase-t-il mes traductions existantes ?

Les langues déjà présentes dans le fichier, les commentaires et les états d'extraction sont conservés intacts, comme l'indique le README de la CLI.

Comment les pluriels sont-ils gérés ?

Les variations de pluriel sont développées selon les catégories dont chaque langue a besoin : l'anglais one/other devient one/few/many/other en russe et six formes en arabe.

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 Localizable.xcstrings --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 · .strings · .properties · .resx · CSV · Markdown · Fluent · Android XML