Используете стандартные переводы Apple для кнопки оповещения?

Верно ли это? Когда вы создаете экземпляр UIAlertButton, вы должны передать ему явный заголовок для кнопки «Отмена», например:

UIAlertView *av = 
    [[UIAlertView alloc] 
         initWithTitle:@"Error" 
         message:err.localizedDescription 
         delegate:nil 
         cancelButtonTitle:@"Cancel" 
         otherButtonTitles:nil];

Это означает, что если вы хотите локализовать приложение (что, конечно же, вы делаете), вы также должны локализовать строку «Отмена». , хотя у Apple, очевидно, уже есть канонический перевод. Я действительно вынужден писать что-то подобное, чтобы справиться с этим (или это вообще нормально)?

NSBundle* uikitBundle = [NSBundle bundleForClass:[UIButton class]];
UIAlertView *av = 
    [[UIAlertView alloc] 
         initWithTitle:NSLocalizedString(@"Error", @"Title for Alert box when error occurs") 
         message:err.localizedDescription 
         delegate:nil 
         cancelButtonTitle:NSLocalizedStringFromTableInBundle(@"Cancel", @"Localizable", uikitBundle, nil) 
         otherButtonTitles:nil];

Мне это кажется ужасным, но мысль о том, что я должен поддерживать свои собственные переводы слов, предусмотренных HIG Apple (таких как «Отмена» или «ОК»), кажется столь же абсурдной.

11
задан c roald 17 May 2012 в 20:36
поделиться