Предоставляет ли Apple локализованные варианты восстановления для общих заголовков NSButton для NSError?

Предоставляет ли Apple локализованные строки для распространенных заголовков NSButton, например эквиваленты OK, Отмена, Повторить попытку и Выход?

Я пытаюсь создать пользовательский объект NSError из одного переданного мне другим фреймворком Cocoa. Я хочу реализовать NSErrorRecoveryAttempting неформальный протокол, чтобы позволить пользователю попробовать еще раз или выйти в случае возникновения ошибки. Для (краткого) примера:

NSString *cachesDir = ...;
NSError  *error     = nil;
BOOL     success    = [[NSFileManager defaultManager] createDirectoryAtPath:cachesDir withIntermediateDirectories:NO attributes:nil error:&error];

// Failed creating the directory.
if (!success)
{
 NSMutableDictionary *errorUserInfoCopy = [[[error userInfo] mutableCopy] autorelease];

 NSArray *recoveryOptions = [NSArray arrayWithObjects:@"Try Again", @"Quit", nil];
 [errorUserInfoCopy setObject:recoveryOptions forKey:NSLocalizedRecoveryOptionsErrorKey];

 NSError *newError = [NSError errorWithDomain:[error domain] code:[error code] userInfo:errorUserInfoCopy];
 [NSApp presentError:newError];
}

В строке 10, NSArray *recoveryOptions = ..., предоставляет ли Apple способ легко получить локализованные версии Try Again/Quit (среди других распространенных названий NSButton)? Или я должен вручную заполнить файлы .strings и вместо этого использовать NSLocalizedString()?

Apple предоставляет локализованные варианты восстановления для ненастроенных ошибок NSError:

NSArray *recoveryOptions = [anError localizedRecoverySuggestion];

Но обычно по умолчанию это просто локализованное «ОК». Это не подходит для пользовательского NSErrorRecoveryAttempting.


person Dave    schedule 02.07.2010    source источник


Ответы (1)


Похоже, что Apple нет.

person Dave    schedule 12.10.2010