1

Delphi2006 プロジェクトを Delphi XE にアップグレードすることを考えています。その結果、ANSI の代わりに Unicode が使用されます。

.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 。
  • フォーマットは、一部のデータ(通貨または小数からテキストへの設定)をフォーマットするための主な機能であり、TFormatSettingsをサポートするオーバーロードされたバージョンがあります。
  • TFormatSettings.Create(新しいDelphiの場合)または、いくつかのグローバル変数を設定する古き良き(非推奨) GetLocaleFormatSettingsを使用できます。
于 2010-12-07T07:26:53.023 に答える