Lingo.dev + .xcstrings (Xcode)
Lingo.dev CLI traduit les fichiers .xcstrings d'Xcode tout en préservant les règles de pluralisation, les variations selon les appareils et les métadonnées spécifiques à iOS. Le CLI fonctionne directement avec le workflow de localisation d'Xcode, génère des constantes de chaînes accessibles par code, gère automatiquement les règles complexes de pluralisation iOS, prend en charge les variations de chaînes spécifiques à la plateforme et s'intègre parfaitement aux processus de compilation Xcode.
Configuration rapide
Configuration pour le format moderne de catalogue de chaînes d'Xcode :
{
"locale": {
"source": "en",
"targets": ["es", "fr", "de", "ja"]
},
"buckets": {
"xcode-xcstrings": {
"include": ["Resources/Localizable.xcstrings"]
}
}
}
Traduire les catalogues de chaînes
npx lingo.dev@latest i18n
Gère automatiquement la pluralisation, les variations d'appareils et les métadonnées spécifiques à Xcode tout en préservant les conventions iOS.
Fonctionnalités du catalogue de chaînes
Localisation de base
{
"sourceLanguage": "en",
"strings": {
"welcome_message": {
"localizations": {
"en": {
"stringUnit": {
"state": "translated",
"value": "Welcome to our app!"
}
}
}
}
}
}
Variations de pluriel
{
"item_count": {
"localizations": {
"en": {
"variations": {
"plural": {
"zero": {
"stringUnit": {
"state": "translated",
"value": "No items"
}
},
"one": {
"stringUnit": {
"state": "translated",
"value": "%d item"
}
},
"other": {
"stringUnit": {
"state": "translated",
"value": "%d items"
}
}
}
}
}
}
}
}
Variations selon les appareils
Prend en charge les chaînes spécifiques aux appareils pour iPhone, iPad, Apple Watch et autres plateformes Apple.
Préservation du format
- Métadonnées intactes : État, commentaires et état d'extraction préservés
- Variations sécurisées : Toutes les variations de pluriel et d'appareils maintenues
- Structure préservée : Hiérarchie JSON et clés spécifiques à Xcode inchangées
- Placeholders sécurisés : Spécificateurs de format iOS comme
%@
,%d
maintenus
Configuration avancée
Catalogues multiples
"xcode-xcstrings": {
"include": [
"Resources/Localizable.xcstrings",
"Resources/InfoPlist.xcstrings"
]
}
Verrouiller les clés système
"xcode-xcstrings": {
"include": ["Resources/Localizable.xcstrings"],
"lockedKeys": ["CFBundleName", "NSHumanReadableCopyright"]
}