NSURLConnection возвращает NSError только с английским как язык? - PullRequest
4 голосов
/ 13 августа 2011

Если я включу режим «В самолете» на своем iPad и попытаюсь установить NSURLConnection, я получу сообщение об ошибке «Интернет-соединение отключено».Если я перейду на любой другой язык, то на английском на iPad у меня останется тот же текст ошибки.Разве я не должен получить сообщение об ошибке на выбранном языке?

Используя этот код:

- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
    NSLog(@"Error: %@",[error localizedDescription]);
}

1 Ответ

3 голосов
/ 10 ноября 2013

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

Файл, содержащий коды ошибок и локализованные описания, находится в /System/Library/Frameworks/Foundation.Framework/Resources/en.lproj/FoundationErrors.strings Скопируйте этот файл и вставьте куда-нибудь еще (чтобы не испортить исходный файл). Теперь запустите команду в терминале, чтобы преобразовать двоичный файл в текстовый файл: plutil -convert xml1 FoundationErrors.strings Теперь перетащите файл в проект XCode, щелкните правой кнопкой мыши и выберите Open as... Property list. Теперь у вас есть ключи и описания. Вы можете перевести (если желаемый язык недоступен в локализации) или настроить их так, как вам нужно, и сохранить его с нужным именем, которое в моем случае будет Persian.strings.

Теперь добавьте этот код в метод, в котором вы хотите его использовать:

//persian error messages file full path
NSString * persianErrorsListFile = [[[NSBundle mainBundle] bundlePath] stringByAppendingPathComponent:@"Persian.strings"];
//Load file as dictionary
NSDictionary * persianErrorsList = [[NSDictionary alloc] initWithContentsOfFile:persianErrorsListFile];

NSString *errorKey = [NSString stringWithFormat:@"Err%ld", (long)errorCode];
NSString *errorMessage = persianErrorsList[errorKey];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...