локализация в iOS уведомлениях? - PullRequest
2 голосов
/ 06 января 2011

У меня хорошо работает приложение, и оно использует локальные уведомления.

Я решил интернационализировать приложение сейчас, чтобы все работало нормально, кроме уведомлений, которые были установлены на языке перед сменой языка на устройстве.

Я заполняю сообщения в уведомлении из массива, который содержит локализованные строки, поэтому я подумал, что при изменении пользователем языка устройства строка в уведомлении также изменится, но я ошибся.

Как лучше всего решить эту проблему? Должен ли мой текст NSString быть также NSLocalizationString?

Мой код уведомления:

UILocalNotification *localNotif = [[UILocalNotification alloc] init];
if (localNotif == nil)
return;
localNotif.fireDate = [alertTimes objectAtIndex:i];
localNotif.timeZone = [NSTimeZone defaultTimeZone];

NSString *text = [alertText objectAtIndex:i];

// Notification details
localNotif.alertBody = text;
// Set the action button
localNotif.alertAction = @"View";

localNotif.soundName = UILocalNotificationDefaultSoundName;
localNotif.applicationIconBadgeNumber = 1;

// Specify custom data for the notification
NSDictionary *infoDict = [NSDictionary dictionaryWithObject:@"someValue" forKey:@"someKey"];
localNotif.userInfo = infoDict;

// Schedule the notification
[[UIApplication sharedApplication] scheduleLocalNotification:localNotif];
[localNotif release];

1 Ответ

1 голос
/ 06 января 2011

Должен ли мой текст NSString быть также NSLocalizationString?

Да, я бы сделал это.

Заменить [alertTimes objectAtIndex:i] на NSLocalizedString(@"alertTimes",[alertTimes objectAtIndex:i]).Я предполагаю, что вы храните строки в массиве alertTimes, которые соответствуют вашей локализованной строке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...