私は北米以外の地域にローカライズする必要があるasp.netアプリケーションを作成しています。このグローバリゼーションの準備には何が必要ですか?世界に向けたアプリケーションの作成方法を学習するための、トップ1から2のリソースは何ですか?asp.netアプリケーションをグローバル化するために何を知る必要がありますか?
答えて
System.Globalization名前空間について学ぶ:あなたが他の文化、言語をターゲットにしている場合
はまた、良い本はNET Internationalization: The Developer's Guide to Building Global Windows and Web Applications
では、ユニコードのビットをリフレッシュするために良いでしょう。
私がお勧めします:
- は、データベースやリソースファイルのいずれかですべての文字列を入れてください。
- 翻訳されたテキストには余白を付けてください(一部のドイツ語など)。
私が学んだ物事のカップル:
を絶対にして残酷なテキストが含まれているあなたが持っているイメージの数を最小限に抑えます。そうすることで、あなたはすべてのfriggin 'の言語のための新しい画像のセットを取得する必要がないので、あなたの人生を10%簡単にするでしょう。
常に同じサイズのものに依存するCSSの配置には非常に注意してください。これらのものにテキストが含まれている場合、ではなく、は同じサイズのままです。その場合、戻ってデザインを修正する必要があります。
sqlテーブルで文字型を使用する場合は、国際入力を受け取る可能性のある文字列がunicode(nchar、nvarchar、ntext)であることを確認してください。その点については、私はユニコード版の使用を標準化しています。
すべてのWebページには、ユニコード形式であることが明確に記載されていることを確認してください。上記のJoelの記事を参照してください。
このプロジェクトでは、多くのリソースファイルを使用しています。それは良いことです - ASP.NET 2.0はそのようなことを非常にサポートしています。 App_LocalResourcesフォルダとApp_GlobalResourcesフォルダ、GetLocalResourceObject、GetGlobalResourceObject、およびmeta:resourceKeyの概念を調べる必要があります。 Professional ASP.NET 2.0の第30章にはそれに関する素晴らしいコンテンツがあります。この本の3.5版も良いコンテンツを持っているかもしれませんが、私はそれを所有していません。
フォントについて考えてみましょう。使用したい標準フォントの多くは、Unicode対応ではありません。私はいつもArial Unicode MS、MS Gothic、MS Minchoと運が良かった。しかし、私はこれらがどのようにクロスプラットフォームであるかについては分かりません。また、すべてのフォントがすべてのUnicode文字定義をサポートするわけではありません。再び、テスト、テスト、テスト。
翻訳システムをどのように翻訳するのか、今考えてみましょう。翻訳のために前後にデータをやり取りする方法について、翻訳ベンダーである人と話をしてください。ローカルリソースファイルを介して、一般的に使用されている文字列がシステムを通じて繰り返される可能性が高いという事実を考えてください。それらをグローバルリソースファイルに正規化するか、使用される各テキストのコピーが1つしか生成されない何らかの種類のデータベースレイヤーを持っていますか?最近のプロジェクトでは、すべての翻訳と元の英語版のリソースファイルを含むデータベーステーブルから生成されたリソースファイルを使用しました。
試験。一般的には、ドイツ語、ポーランド語、アジア言語(日本語、中国語、韓国語)でテストします。ドイツ語とポーランド語は文字通り、文字領域を伸ばすことがほぼ保証されていますが、アジア言語はユニコードサポートをテストするまったく異なる文字セットを使用します。
動的にSQLクエリを作成する場合は、テキストがユニコードである可能性がある場合は、引用符付きのテキストの前にN接頭辞を含めるようにしてください。ゴミをSQLテーブルに入れたら、それがあるかどうかを確認してください。
これは難しい問題です。私はカナダに住んでいるので、多言語主義は大きな問題です。ソフトウェア開発を長年続けてきた私は、私が好きなソリューションを見たことがありませんでした。私は仕事をして仕事を終わらせた多くのソリューションを見たことがありますが、彼らはいつも大きなクルーグのように感じました。 @harriyottに行って、あなたの文字列のどれもが実際にコードに入っていないことを確認します。リソースファイルは、デスクトップアプリケーションに適しています。しかし、ASP.Netでは、私はデータベースを使用することをお勧めしたいと思います。 @ジョンクリステンセンにも良い指針があります。
コード解析を有効にしてコンパイルしていることを確認し、それが与えるGlobalization warningsに注意してください。データをユーザーに表示するまでデータを不変形式(CultureInfo.InvariantCulture)にしておきます(次にCultureInfo.CurrentCultureを使用)。
私は真剣に、次のコードプロジェクトの記事を読んで検討する:
Globalization and localization demystified in ASP.NET 2.0
それはスレッド現在のカルチャを設定し、文化とロケールからすべてをカバーし、リソースファイルを、エンコーディング、あなたはそれに名前を付けます!
もちろん、それはかなりの写真と例がロードされています:-)。がんばろう!
- 1. Learn Asp.net Core MVCを知る必要がありますか?
- 2. ノードモジュールをグローバルにインストールする必要がありますか?
- 3. ASP.NET MVCビューをパラメータ化する必要があります
- 4. 私はasp.netアプリケーションを開発するためのパターンを設計する必要がありますか?
- 5. ASP.NET MVCルーティングデバッガ - デバッガからアプリケーションに切り替えるために再コンパイルする必要はありますか?
- 6. ASP.NETアプリケーションをグローバル化するためのアーキテクチャ設計
- 7. グローバル変数を使用する必要がありますか?
- 8. asp.net mvc appsをあらかじめコンパイルする必要がありますか?
- 9. C#プロトタイプからASP.NETへ、何を変更する必要がありますか?
- 10. (Python)パラメータを使用するか、グローバルにする必要がありますか?
- 11. Cで書かれたプログラムをデバッグするためにアセンブリを知る必要がありますか?
- 12. 私はこのアプリケーションの出力が何であるか知る必要があります:1243
- 13. ASP.Net MVC、NHibernate、LINQ、EFで何を使用する必要がありますか?
- 14. 私のASP.NET MVC3プロジェクトで何をテストする必要がありますか?
- 15. .NET世界のフロントエンド開発者 - 何を知る必要がありますか?
- 16. データセグメントに何をロードする必要がありますか?
- 17. Auth create、次に何をする必要がありますか?
- 18. コンパイル時にWindowsアプリケーションがDLLについて知る必要があります
- 19. ユニットテストphpアプリケーション(私は何をテストする必要がありますか?)
- 20. 角度アプリケーションの自動化のためにeclispeをダウンロードする必要があります
- 21. 変更されたGPLプログラムを配布するためには、何をする必要がありますか?
- 22. ASP.NET MVC3:MembershipProviderを使用する必要がありますか?
- 23. ASP.NET 1.1をサポートする必要がありますか?
- 24. ObjectiveC.gcnoとは何ですか?ソースコードリポジトリに含める必要がありますか?
- 25. 通知のためにJenkinsヘビー級またはフライウェイトエグゼキュータを使用する必要がありますか?
- 26. アンドロイドデベロッパーが知る必要があることは何ですか?
- 27. MVVM - 何を何に含めるべきか...何を作成する必要があります
- 28. クラウド環境に適応するために開発者が何をする必要がありますか
- 29. ターゲットディレクトリには何を入れる必要がありますか?
- 30. MVA 2.0プレビュー1でDataAnnotationを使用するために何かをダウンロードする必要がありますか?
最後に、擬似ローカリゼーション(http://en.wikipedia.org/wiki/Pseudolocalization)の使用を検討することがあります。 Scott Hanselmanは、疑似リソースファイルを生成するツール(http://www.hanselman.com/blog/PsuedoInternationalizationAndYourASPNETApplication.aspx)を開発しました。 – gsk