2014-03-10 3 views
1

Мне нужно локализовать текст экрана настроек динамически на основе языка/языка настроек iphone. В моем сценарии локализованный текст извлекается с сервера. Я сохраняю текст в базе данных и показываю его на экране. Экран настройки должен быть локализован на основе предпочтительного языка/языка устройства. Я попытался получить доступ к строке заголовка элемента в Root.plist. Но он возвращает значение, но мне нужен заголовок. Как я могу получить доступ/изменить заголовок элемента.Установить заголовок строки в настройки Bundle iOS

для например:

{ 
     DefaultValue = 1; 
     Key = "enabled_preference"; 
     Title = "Keep me logged in"; 
     Type = PSToggleSwitchSpecifier; 
    } 

[[NSUserDefaults standardUserDefaults]valueForKey:@"enabled_preference"]; 

, которые возвращают значение 1, но мне нужно название «Держите меня войти в систему», которая должна быть изменена.

Мне нужно «Название» для локализации (т. Е.) Вместо использования .lproj-файла, у меня есть набор локализованных строк в словаре. Мне нужно установить заголовок со значением из словаря.

Как это сделать.

Благодаря

+0

я не уверен, что я понял вопрос, но если вы хотите, чтобы установить значение для ключа, попробуйте это [[NSUserDefaults standardUserDefaults] SetObject: @ «объект» forKey: @» enabled_preference "]; !! если вы этого не ищете, проконсультируйтесь немного – Harsh

+0

@Harsh: я отредактировал мой вопрос. Мне нужно получить строку «Название» (например, «Я»). Мне нужно войти в систему. Мне нужно изменить это на другую строку языка, которая у меня есть в словаре. –

+0

попробуйте это [[NSUserDefaults standardUserDefaults] setObject: NSLocalizedString (@ "title", @ "Comments") forKey: @ "title"]; это решает вашу проблему? – Harsh

ответ

0

Вот способ, где вы можете получить все значения и ключи.

Это может помочь вам, получить все ключи и пройти через все, чтобы получить ключ вы ищете

всех значений:

NSLog(@"%@", [[[NSUserDefaults standardUserDefaults] dictionaryRepresentation] allValues]); 

все ключи:

NSLog(@"%@", [[[NSUserDefaults standardUserDefaults] dictionaryRepresentation] allKeys]); 

все ключи и значения:

NSLog(@"%@", [[NSUserDefaults standardUserDefaults] dictionaryRepresentation]); 

используя для:

NSArray *keys = [[[NSUserDefaults standardUserDefaults] dictionaryRepresentation] allKeys]; 

for(NSString* key in keys){ 
// your code here 
NSLog(@"value: %@ forKey: %@",[[NSUserDefaults standardUserDefaults] valueForKey:key],key); 
} 
Смежные вопросы