バックグラウンド
- 多言語システムを構築しています
- MVC 4 バンドル機能を使用しています
- 右から左 (RTL) 言語と左から右 (LTR) 言語のファイル
Javascripts
が異なりますStyles
現在、私はこのシナリオを次のように処理しています。
BundleConfig ファイル
//Styles for LTR
bundles.Add(new StyleBundle("~/Content/bootstarp").Include(
"~/Content/bootstrap.css",
"~/Content/CustomStyles.css"));
// Styles for RTL
bundles.Add(new StyleBundle("~/Content/bootstrapRTL").Include(
"~/Content/bootstrap-rtl.css",
"~/Content/CustomStyles.css"));
//Scripts for LTR
bundles.Add(new ScriptBundle("~/scripts/bootstrap").Include(
"~/Scripts/bootstrap.js",
"~/Scripts/CmsCommon.js"
));
//Scripts for RTL
bundles.Add(new ScriptBundle("~/scripts/bootstrapRTL").Include(
"~/Scripts/bootstrap-rtl.js",
"~/Scripts/CmsCommon.js"
));
ビューでの実装:
@if (this.Culture == "he-IL")
{
@Styles.Render("~/Content/bootstrapRTL")
}
else
{
@Styles.Render("~/Content/bootstrap")
}
質問:
それを実装するためのより良い方法があるかどうか疑問に思っていましたが、私は望んでいました:
どのカルチャを検出するロジックを処理し、ビューではなくバンドル (コード ビハインド) で適切なファイルをプルします。
したがって、ビューで私がしなければならないことは、1 つのファイルを呼び出すことだけです。
ビューにロジックを残す場合、各ビューでロジックを処理する必要があります。避けたい。