Страницы

Поиск по вопросам

суббота, 8 февраля 2020 г.

Возможна ли локализация UI элементов в Xcode iOS?

#xcode #ios #iphone #objective_c


Возможно ли наитивным образом поставить, чтобы надпись в searcBar для отмены была
не "cancel", а "отмена", в TableView при commitEditingStyle были надписи в строках
не "Delete", а "Удалить". Это вообще возможно как то прописать в настройках среды,
или где еще, или только самому прописывать можно? В симуляторе стоит в настройках русский
язык. Искал в сети на обоих языках - нашел информацию только что для подобных элементов
язык сам должен правильный выставляться, но в моем случае этого не происходит. Работаю
в Xcode 5, iOS 7 SDK. 
Для SearchBar пробовал этот способ:
 [[UIButton appearanceWhenContainedIn:[UISearchBar class], nil] 
                                         setTitle:@"Отмена" 
                                         forState:UIControlStateNormal];

Не помогло.    


Ответы

Ответ 1



Конечно возможно, все базовые вещи переводятся автоматом, если вы включаете поддержку других языков в своем проекте. Все остальные строки локализуются либо через NSLocalizedString либо через Base Internationalization в Storyboard. Все строки в сториборде могут быть локализованы, делается это также при добавлении Base в список Languages (у вашей сториборды появляются локализованные варианты). В UISearchBar кнопка будет локализована автоматическии, если вы добавите язык в Проект (вверху слева в дереве навигации по проекту) -> далее следует выбрать проект (не target) -> вкладка Info -> раздел Localizations - список языков. Чтобы локализовывать свои UI элементы - self.label.text = NSLocalizedString(@"Sting to be localized", @"comment for translator"); вот хороший туториал по локализации (теперь на русском): http://www.raywenderlich.com/ru/36227/Локализация-приложений-в-ios а по сторибордам там вроде и так все предельно ясно будет, единственное, autolayout должен быть включен

Комментариев нет:

Отправить комментарий