В моем приложении iOS есть опция выбора языка.
Его серверное приложение, которое получает все строки с сервера, которые должны отображаться в приложении.
В одном из представлений мне нужно преобразовать текст в «верхний регистр», для чего я использую метод upperCaseString NSString. Это хорошо работает для английского языка. Но для других языков, таких как французский, китайский, русский, немецкий и т. Д., Это может создать проблему. Итак, я должен использовать «uppercaseStringWithLocale» для соответствующей строки верхнего регистра поставщика.
Мой вопрос в том, как создать NSLocate и передать его методу «upperCaseStringWithLocale» на основе имени языка. Я знаю, какой язык приложения выбрал пользователь. Могу ли я создать локальный объект на основе имени языка?iOS NSString - создание верхнего регистра на основе языка
ответ
Я думаю, что вы ищете:
NSString *theLocaleIdentifier = @"es_ES_PREEURO";
[[NSLocale alloc] initWithLocaleIdentifier:theLocaleIdentifier];
Могу ли я получить карту языка и локальные идентификаторы, которые я могу поддерживать в приложении? – Satyam
@Satyamsvv Вы можете получить все идентификаторы локали, используя '[NSLocale availableLocaleIdentifiers]' –
@Satyamsvv. Вы также можете получить конкретный идентификатор локали, если знаете код языка и код страны, используя '[NSLocale localeIdentifierFromComponents: @ {NSLocaleLanguageCode: @" en ", NSLocaleCountryCode: @" US "}];' –
Локаль и язык не имеют соответствия 1-к-1. Вам нужно будет использовать код локали. –