Поделиться через


Вопросы локализации для устройств

Обновлен: Ноябрь 2007

В отличие от полной версии .NET Framework платформа .NET Compact Framework имеет ограниченное пространство, выделяемое ресурсам для локализации или глобализации приложений. Эти ресурсы включают таблицы сортировки, преобразователя форматов дат, компараторы строк и другие служебные программы глобализации.

Разработчики должны определить, может ли операционная система на устройстве соответственно отображать их приложения. Приложения, написанные для полной версии .NET Framework на персональном компьютере, и приложения, написанные для .NET Compact Framework на устройстве, могут отличаться из-за требований глобализации и совместимости.

.NET Compact Framework возвращает ArgumentException, если создается экземпляр класса CultureInfo, представляющий язык и региональные параметры, которые не поддерживаются платформой .NET Compact Framework или операционной системой устройства.

Там, где возможно, .NET Compact Framework использует основную операционную систему для отображения содержимого соответственно языку, например, используя соответствующий шрифт. Платформа также учитывает языковые и региональные параметры операционной системы устройства для правильного сравнения строк и регистра символов, например, при использовании методов Compare, ToUpper иToLower.

Текущие настройки языковых и региональных параметров

Текущие языковые и региональные параметры на устройстве нельзя задать программным способом. Они устанавливаются производителем устройства или вручную настраиваются пользователем, например, с помощью параметра Язык и стандарты на карманном ПК, работающем под управлением Windows CE или Windows CE .NET, текущие настройки языка и региональных параметров задаются отдельно для каждого устройства.

Приложение при запуске использует языковые настройки устройства. Их значения отражаются свойствами CurrentCulture и CurrentUICulture. В платформе .NET Compact Framework эти свойства доступны только для чтения.

Если операционная система устройства поддерживает многоязыковой пользовательский интерфейс (MUI), .NET Compact Framework использует отдельную языковую настройку пользовательского интерфейса и отражает ее значения в свойстве CurrentUICulture. Если устройство не поддерживает MUI, вместо CurrentUICulture по умолчанию используется свойство CurrentCulture.

.NET Compact Framework не поддерживает свойства CurrentCulture и CurrentUICulture для Thread, так как языковые и региональные параметры настраиваются для отдельного устройства, а не для отдельного потока.

Вопросы разработки локализации для устройств

При локализации интеллектуальных приложений для устройств следует рассмотреть следующую поддержку и поведение.

  • Календари

    .NET Compact Framework поддерживает и использует по умолчанию только грегорианский календарь. Еврейский или Хиджра календари не поддерживаются.

  • Сравнения строк

    В некоторых случаях, сравнение строк может выполняться иначе, чем в полной версии .NET Framework, из-за различных операционных систем устройств. Вычисление методов IndexOf, LastIndexOf, IsPrefix и IsSuffix объекта CompareInfo может выполняться неправильно, если переданные строки содержат знаки сжатия.

  • Переопределения пользователя

    Некоторые значения по умолчанию .NET Compact Framework, полученные из внутренних таблиц глобализации, отличаются от значений по умолчанию, определенных параметрами реестра операционной системы. Например, .NET Compact Framework и полная версия .NET Framework используют четырехзначную запись года для английского языка (США) (us-EN), а Windows CE .NET — двухзначную. Значения по умолчанию .NET Compact Framework имеют приоритет над значениями по умолчанию операционной системы устройства.

    Приложение во время инициализации получает переопределенные значения, поэтому любые изменения значения после этого пропускаются.

  • Кодировка

    .NET Compact Framework поддерживает кодировку символов на всех устройствах: Юникод (BE и LE), UTF8, UTF7 и ASCII.

    Существует ограниченная поддержка кодировки кодовых страниц и только в случае, если кодировка распознается операционной системой устройства.

    .NET Compact Framework вызывает PlatformNotSupportedException, если требуемая кодировка недоступна на устройстве.

    Если в устройстве имеется дополнительный компонент Mlang.dll, поддерживаются следующие кодовые страницы: CP 51932 (EUC-JP), CP 50220 (ISO2022JP) и CP 50221 (cslSO2022JP).

  • Пары символов-заместителей, смена регистра

    .NET Compact Framework использует собственные функции Windows CE для смены верхнего или нижнего регистра знаков; в то время как полная версия .NET Framework предоставляет эту функциональную возможность в инфраструктуре.

    Windows CE не предоставляет смену регистра пар символов-заменителей, поэтому эта возможность не поддерживается в платформе .NET Compact Framework.

  • Сортировка

    .NET Compact Framework использует собственные функции Windows CE для выполнения сортировки вместо алгоритмов управляемого кода. Это может привести к разным результатам при сравнении с приложением для персонального компьютера для данного языкового стандарта.

См. также

Другие ресурсы

Кодировка и локализация в платформе .NET Compact Framework