Отображение азиатской строки Unicode в UILabel - PullRequest
1 голос
/ 19 февраля 2010

Как мы можем показать азиатские значения Unicode в UILabel

\ U2013 \ U00ee \ U2013 \ U00e6 \ U2013 \ U2202 \ U2013 \ U220f \ U2013 \ U03c0 \ U2013 \ U00ee \ U2013 \ U220f \ U2013 \ U03c0 \ U2013 \ U00aa \ U2013 \ U2213 \ U2014

Спасибо

1 Ответ

5 голосов
/ 19 февраля 2010

Я не уверен, что особенно «азиатского» в этом тексте,

  • U + 2013 - это тире (-)
  • U + 00ee - это строчные буквы'i' с окружностью (î)
  • U + 00e6 - старая лигатура для ae (æ)
  • U + 2202 - символ для дифференциального уравнения в частных производных (∂).

Если ваша программа локализуется [то есть программа будет доступна на нескольких языках], вы должны поместить свой текст в файл Localizable.strings.Когда вы создаете один из этих файлов в Xcode, он автоматически сохраняется в подходящей кодировке (скорее всего, UTF16) и будет включен в ваше встроенное программное обеспечение.Файл имеет следующий формат:

 "Base language text" = "Translation text";
 "Good evening!" = "こんばんは";

Вы можете ссылаться на переводы, используя:

NSString *goodEvening = NSLocalizedString (@"Good evening!", @"An interjection said during the latter part of the day.");

Эта функция автоматически переведет строку во все доступные локализации, которые есть у вашего программного обеспечения (путем поискадля соответствующего файла Localizable.strings), основываясь на выбранных пользователем региональных настройках на их iPhone или Mac.Если подходящий перевод не найден, он вернет исходную строку базового языка.Второй аргумент NSLocalizedString предоставлен для предоставления контекста или значения для перевода, он не включается в ваше программное обеспечение.

Если вы просто хотите отобразить текст, вы можете включить кодовые точки Unicode в NSString константы, но вы должны использовать строчные буквы u (если они не являются 32-битными кодовыми точками):

NSString *myPunctuation = @"\u2013\u00ee"; // lowercase u
NSLog (@"%@", myPunctuation);

...

myPunctuation = @"\U00002013\U000000ee";  // uppercase U
NSLog (@"%@", myPunctuation);
...