したがって、私たちは製品を国際化して、最終的には国際化する必要があると確信しています。私たちが進むにつれて、どれだけ国際化することをお勧めしますか?
言い換えれば、今は簡単ですが、コードベースを成熟させればさらに悪化する可能性があり、今から始めてもそれほど遅くならない国際化はあるのでしょうか。
使用した技術:C#、WPF、WinForms
したがって、私たちは製品を国際化して、最終的には国際化する必要があると確信しています。私たちが進むにつれて、どれだけ国際化することをお勧めしますか?
言い換えれば、今は簡単ですが、コードベースを成熟させればさらに悪化する可能性があり、今から始めてもそれほど遅くならない国際化はあるのでしょうか。
使用した技術:C#、WPF、WinForms
コードベース自体にすべての文字列を書き込む前に、今すぐ準備してください。
これからのすべては手遅れになります。それは今しかないです!
確かに、今すぐ準備するのは少し余分な努力ですが、それをしないと、はるかに高価になります。
以下のリンクのすべてのガイドラインに従わない場合は、少なくとも、要約のポイント1、2、および7に注意してください。これらは、現在非常に安価であり、その後の私の経験で最も苦痛をもたらします。
これらのガイドラインを確認し、今すぐ始めてすべてを準備する方がよい理由を自分で確認してください。
少し抽出:
私見、「数年以内に」何かが起こると主張することは、文字通り「いつかは願っています」という意味で、実際には「決して」という意味ではありません。恐ろしい間違いをしないように、さまざまなチュートリアルをざっと見ていきますが。現在正しい国際化サポートを行うことは、将来の作業が少なくなることを意味し、一度慣れれば、今日の生産性に実際の影響を与えることはありません。しかし、数年で目標を測定できれば、今はまったく価値がないかもしれません。
私は国際化を行った2つのプロジェクトに取り組んできました。C#ASP.NET(プロジェクトに参加する前に存在していました)アプリとPHPアプリ(無料の国際化コントロールと独自の管理アプリを使用して独自の方法を自作しました)です。
すべてのテキスト(ラベル、ボタンテキストなど)をデータとしてデータベース内に保存する必要があります。これらをキーで参照し(最初の4語を使用し、大文字にし、スペースをアンダースコアに変換し、非英数字を削除します)、重複している場合は、末尾に数字を追加します。このキーメソッドの利点は、プログラマーがキーを見るだけでテキストの内容をかなり深く理解できることです。
データを抽出し、コンパイルのためにプロジェクトに追加する.NETリソースファイルをビルドするユーティリティを作成します。言語ごとに個別のリソースファイルを作成します。コードで、キーを使用して適切なエントリをポイントします。
この件に関するMSドキュメントをざっと読みます:http: //www.microsoft.com/globaldev/getwr/dotneti18n.mspx
避けるべきいくつかの基本的なこと:
I will add to store and manipulate string data as Unicode (NVARCHAR in MS SQL).
テスト データを使用する場合は、英語以外 (ロシア語、ポーランド語、ノルウェー語など) の文字列を使用してください。エンコーディングは、隅々に小さな醜い頭を覗かせます。自分のライブラリにない場合は、外部のライブラリに。
私は個人的にロシア語を好みます。なぜなら、私はロシア語を話せませんが (私の名前の由来にもかかわらず)、ロシア語には外国語の文字が含まれており、英語よりも多くのスペースを必要とするため、スペーシングもテストされるからです。
それが言語固有のものなのか、それともロシア語の翻訳者が冗長な文字列が好きなだけなのかはわかりません.
国際化は、あなたの製品を他の国でも使用できるようにします。それは簡単で、最初から実行する必要があります (このようにして、世界中の英語を話す人々があなたのソフトウェアを使用できるようになります)。これらの 3 つのルールは、ほとんどの場合、次のようになります。
ローカリゼーションとは、ソフトウェアを別の言語に翻訳することです。これは困難で費用がかかります。文字列をハードコーディングしたり、小さな文字列から文を作成したりしないことから始めることをお勧めします。