#iphone #ios #multilingual
#iPhone #iOS #многоязычный
Вопрос:
Я пытаюсь узнать, как реализовать многоязычное приложение для iphone. Я всегда создаю свой пользовательский интерфейс программно. пожалуйста, проверьте код, как показано ниже
UIImage *buttonImage2 = [[UIImage imageNamed:@"orangebuttonsmall.png"] stretchableImageWithLeftCapWidth:22 topCapHeight:0];
btnCancel = [UIButton buttonWithType:UIButtonTypeCustom];
[btnCancel setTitle:@"Save" forState:UIControlStateNormal];
[btnCancel setBackgroundImage:buttonImage2 forState:UIControlStateNormal];
btnCancel.frame = CGRectMake(205, 40.0, 60.0, 30.0);
btnCancel.titleLabel.font = [UIFont boldSystemFontOfSize:14];
btnCancel.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
btnCancel.titleLabel.textColor = [UIColor whiteColor];
btnCancel.titleLabel.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.3]; // [UIColor blackColor];
btnCancel.titleLabel.shadowOffset = CGSizeMake(0, -1);
[btnCancel sizeToFit];
btnCancel.bounds = CGRectInset(btnCancel.bounds, -10, 0);
[btnCancel addTarget:self action:@selector(cancelAction:) forControlEvents:UIControlEventTouchUpInside];
[self.containerView addSubview:btnCancel];
когда я ищу локализацию, я получаю примеры для xibs, но не программно.
теперь я хотел бы знать, как я могу изменить приведенный выше код на многоязычный, например, французский.
Ответ №1:
[btnCancel setTitle:NSLocalizedString(@"Save",@"Title for Save Button") forState:UIControlStateNormal];
Затем используйте команду терминала
genstrings -o en.lproj *.m
для создания локализуемого файла.strings
Затем настройте результирующий файл Localizable.strings для каждого языка и сохраните в соответствующей подпапке Lang.lproj в вашем проекте. (Французский.lproj Английский.lproj и т.д.)
Функция NSLocalizedString извлекает значение, зависящее от языка, и заменяет его в коде.
Комментарии:
1. не удалось подключиться к выходному каталогу en.lproj при запуске команды genstrings. в чем здесь проблема
2. mkdir en.lproj перед запуском genstrings
Ответ №2:
вам нужно сделать ваш код локализованным. для получения дополнительной информации, пожалуйста. перейдите по этим ссылкам http://www.icanlocalize.com/site/tutorials/iphone-applications-localization-guide / или http://www.raywenderlich.com/2876/how-to-localize-an-iphone-app-tutorial