Je me demandais si je pouvais définir un dictionary de paires key / valeur à utiliser comme strings de localization de langue au moment de l'exécution dans une application ios. La méthode actuelle de modification du paramètre de localization de langue dépend de la définition d'un file de strings approprié dans l'set lorsque l'application est initialement créée.
Donc, au lieu de dire quelque chose comme
NSLocalizedSsortingngFromTableInBundle(@"Greeting", nil, localeBundle, nil);
Dire quelque chose comme
NSDictionary *myDictionary = [NSDictionary dictionaryWithObjectsAndKeys:@"Hello", @"Greeting"]; NSLocalizedSsortingngFromTableInBundle(@"Greeting", nil, myDictionary, nil);
Haeder
#define MyLocalizedSsortingng(key, dict) \ [LocalizationUtils localizedSsortingngWithKey:(key) fromDict:(dict)] @interface LocalizationUtils : NSObject + (NSSsortingng *) localizedSsortingngWithKey:(NSSsortingng *)key fromDict:(NSDictionary *)dict; @end
la mise en oeuvre
+ (NSSsortingng *) localizedSsortingngWithKey:(NSSsortingng *)key fromDict:(NSDictionary *)dict { NSSsortingng *localizedSsortingng; if (!dict) { // use NSLocalizedSsortingng or sth as a fallback. // ... } // get your ssortingng from dict return localizedSsortingng; }