Delphi Unicode Определение культуры независимо от настроек пользователя - PullRequest
1 голос
/ 06 декабря 2010

Я думаю об обновлении наших Delphi2006-проектов до Delphi XE. В результате Unicode будет использоваться вместо ANSI.

В .net-framework я могу использовать CultureInfo в потоке, чтобы определять форматирование приложения независимо от пользовательских настроек (приложение недостаточно готово для поддержки всех форматов (унаследованное, унаследованное, унаследованное). Нет намерения сделать это.). Позволить приложению / потоку определить форматирование - это то, что я хотел бы сделать и в Delphi. Как это можно достичь?

1 Ответ

1 голос
/ 07 декабря 2010

Прежде всего, пожалуйста, сделайте различие (источник: wikipedia) между:

  1. Интернационализация (i18n) - это процесс разработки программного приложения, чтобы его можно было адаптировать к различным языкам и регионам без технических изменений.
  2. Локализация (L10) - это процесс адаптации интернационализированного программного обеспечения для конкретного региона или языка путем добавления компонентов, специфичных для данной локали, и перевода текста.

Для i18n вы будете использовать Delphi ITE / ETM GetText или другой бесплатный или платный инструмент (например, наш ).

Но ваша точка зрения касается L10, то есть локализации. На сайте EMB имеется некоторая документация , но для меня это немного смущает i18n и L10, даже если оба определения приведены в статьях.

Начиная с первой версии Delphi, у вас есть выделенные функции и переменные в модуле SysUtils:

  • TFormatSettings - это тип записи, который можно использовать для получения настроек L10 (существует только в более новых версиях Delphi);
  • FormatSettings - глобальная переменная, которую можно использовать для получения (или установки) текущих настроек формата по умолчанию;
  • FormatDateTime , который можно использовать для принудительной установки других настроек формата;
  • Формат - это основная функция для форматирования некоторых данных (с валютой или десятичной или текстовой настройками), и существует перегруженная версия, которая поддерживает TFormatSettings.
  • Вы можете использовать TFormatSettings.Create (в более новой Delphi) или старый (устаревший) GetLocaleFormatSettings , который заполняет некоторые глобальные переменные.
...