1

我正在考虑将我们的 Delphi2006 项目升级到 Delphi XE。这样做的效果是使用 Unicode 而不是 ANSI。

在 .net-framework 中,我可以在线程上使用 CultureInfo 来确定应用程序的格式,而不管用户设置如何(应用程序还不够成熟,无法支持所有格式(旧版、旧版、旧版)。而且不存在打算这样做。)。让应用程序/线程确定格式是我也希望能够使用 Delphi 来做的事情。如何实现?

4

1 回答 1

1

首先,请区分(来源:维基百科):

  1. 国际化 (i18n) 是设计软件应用程序的过程,以便它可以适应各种语言和地区而无需进行工程更改。
  2. 本地化 (L10) 是通过添加特定于区域设置的组件和翻译文本来使国际化软件适应特定区域或语言的过程。

对于 i18n,您将使用Delphi ITE/ETM GetText 或其他免费或付费工具(如我们的)。

但是您的观点是关于 L10,即本地化。EMB 站点中有一些文档,但在我看来,i18n 和 L10 有点令人困惑,即使文章中引用了这两个定义。

从 Delphi 的第一个版本开始,您在 SysUtils 单元中有专用的函数和变量:

  • TFormatSettings是一种记录类型,可用于检索 L10 设置(仅在较新的 Delphi 版本中存在);
  • FormatSettings是一个全局变量,可用于检索(或设置)当前的默认格式设置;
  • FormatDateTime可用于强制其他格式设置;
  • Format是格式化一些数据的主要功能(带有货币或小数到文本设置),并且有一个支持 TFormatSettings 的重载版本。
  • 您可以使用 TFormatSettings.Create(在较新的 Delphi 上)或旧的(已弃用的)GetLocaleFormatSettings填充一些全局变量。
于 2010-12-07T07:26:53.023 回答