ビューのASP.NET MVCグローバリゼーション
-
03-07-2019 - |
質問
asp.net mvcで開発したアプリケーションのグローバル化を検討しています。
現在、ユーザーに提示するメッセージを保存するためにリソースファイルを使用しています(つまり、データベースに何かを保存し、ユーザーに「保存されたものは何でも」というメッセージが表示されると、そのテキストはリソースファイルを作成して、別の言語のメッセージを簡単にローカライズできるようにします。
私が持っている質問は、全体としてビューでこれを行う方法ですか?現時点では、ほとんどがHTMLで、いくつかのプレゼンテーションロジックが少しあるビューがいくつかあります。
ビューをローカライズするためのベストプラクティスは何ですか?ここをご覧になりました:
この投稿のアプローチは興味深い方法のように思えますが、すべての言語で個別のビューを維持するのがどれほど簡単になるのでしょうか。
注:asp.netで一般的にグローバリゼーションまたはローカリゼーションをあまり行っていないので、非mvcの世界からのベストプラクティスが欠落している可能性があります。
解決
新しいMVCアプリケーションで同じ問題が発生しましたソリューションはこちらにあります。別々のビューを維持するのは大変な作業かもしれませんが、同じビューを異なる言語で維持することも同じように難しいように思われます。 p>
お役に立てば幸いです。
他のヒント
各ビューフォルダーにApp_LocalResourcesを使用し、フォルダーおよび各カルチャ内の各ビューのリソースを配置します。
詳細こちら。
次のようなルートを設定してみてください:
RouteTable.Routes.MapRoute(
"Globalization",
"{localization}/{controller}/{action}/{id}",
new { localization = "en-us", controller = "Globalization", action = "Index", id = "" }
);
そして、idがパラメーターであるように、アクションのパラメーターとしてローカライズを行います。
所属していません StackOverflow