Страницы

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

воскресенье, 14 апреля 2019 г.

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

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


Ответ

Конечно возможно, все базовые вещи переводятся автоматом, если вы включаете поддержку других языков в своем проекте. Все остальные строки локализуются либо через 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 должен быть включен

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

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