eclypse supports importing and exporting String Catalog files to and from XCode. String catalog is Apple's new localizable format and was announced during WWDC23.
Sample String Catalog File
{
"sourceLanguage": "en",
"strings": {
"sign_up_explanation": {
"extractionState": "migrated",
"localizations": {
"en_US": {
"stringUnit": {
"state": "translated",
"value": "You have successfully signed up."
}
},
"es_ES": {
"stringUnit": {
"state": "translated",
"value": "Se ha inscrito correctamente."
}
}
}
}
},
"version": "1.0"
}File Specifications
| File Serialization | JSON | File needs to be a valid JSON file. Fragmented files are not allowed. |
| File Encoding | UTF-8, UTF-16 or UTF-32 | JSON file can be encoded with any UTF standard. However, UTF8 is preferred. |
| Plural Handling | String Catalog style | Plural phrases are included in the same string catalog file as a translation variation. This is a different behavior from the old Localizable.strings files where plurals were included in a separate file. See example below. |
| Placeholder Pattern | iOS style | Strings files can contain Apple's format specifiers which follow IEEE printf specifications. Learn more. |
String Catalog Plurals
{
"sourceLanguage" : "en",
"strings" : {
"sign_up_explanation": {...},
"number_of_days" : {
"extractionState" : "migrated",
"localizations" : {
"en" : {
"variations" : {
"plural" : {
"one" : {
"stringUnit" : {
"state" : "translated",
"value" : "%d day"
}
},
"other" : {
"stringUnit" : {
"state" : "translated",
"value" : "%d days"
}
}
}
}
}
}
},
"add_a_milestone": {...},
"version" : "1.0"
}