8

( Asp.net、c# ) とそのコンテンツを英語で使用して Web サイトを作成しました。現在、このウェブサイトを複数の言語 (ドイツ語、フランス語)をサポートするように作成する必要があります。ラベル/テキストボックス/文字列 すべての値は、それぞれ選択された言語を表示します 検索中に、次のようないくつかの方法があることを知りました

  • ローカリゼーションの使用
  • リソース ファイルを使用します。
  • データベース(すべてが異なる言語のデータベースに保存されます)。

率直に言って、私は 3 番目のオプションに同意しません。

どの方法が最適か知りたいのですが、他に良い方法はありますか?

注:現在の Web サイトは.NET Framework 4.0/ vs 2010を使用して構築されました。

ありがとう

4

3 に答える 3

6

レックス:

http://msdn.microsoft.com/en-us/library/ms227427.aspx

http://dreamdotnet.blogspot.com/2007/01/tutorial-translating-aspnet-web.html

複数の言語に resx ファイルを使用し、ResXResourceWrite を使用してそれらを更新できます (ユーザーがファイルを更新できるようにする場合: http://msdn.microsoft.com/en-us/library/system.resources.resxresourcewriter. aspx )

このソリューションは、静的コンテンツにのみ適しています。データベースのコンテンツを翻訳できるようにしたい場合 (たとえば、データベースに製品が保存されていて、製品の説明も多言語にしたい場合)。この場合、多言語コンテンツをサポートするために DB スキームを変更する必要があります。

PS GetLocalResourceObject("key")Web コントロールを使用せずに値を取得するために使用できます。

MVC を使用している場合は、次の質問を参照してください: ASP.NET MVC アプリケーションをローカライズする方法は?

于 2012-05-10T12:22:31.637 に答える
2

リソースファイルaddglobal.asaxを使用して行ったサンプルコード

 void Application_BeginRequest(Object sender, EventArgs e)
        {
            // Code that runs on application startup
            HttpCookie cookie = HttpContext.Current.Request.Cookies["CultureInfo"];
            if (cookie != null && cookie.Value != null)
            {
                System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(cookie.Value);
                System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(cookie.Value);
            }
            else
            {
                System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en");
                System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en");
            }
        }
于 2012-06-14T11:07:47.697 に答える
-1

動的コンテンツの場合、サードパーティのプラグインまたは Google 翻訳などの追加がそれを行います。

http://translate.google.com/translate_tools

ご参考までに; Google Chrome には自動翻訳が組み込まれており、Chrome の人気は急速に高まっています...言語に関係なくすべてのコンテンツにアクセスできる Web を想像してみてください。これはそうではありませんが、私の考えを共有したいと思います

于 2012-05-10T12:14:44.480 に答える