RegisterRoutes() にはかなり大きな RouteCollection セットアップがあり、ロシア語の URL をサポートする必要があります。これは、ほとんどの MapRoute() URL がロシア語である必要があることを意味します。
影響を受ける MapRoute() 呼び出しを複製して URL をロシア語に翻訳するのではなく、複数のルート コレクションを作成し、サブドメインに基づいて実行時に使用する MVC を選択できるかどうか疑問に思っています。「ル」?
より多くの言語を追加するにつれて、複数の RouteCollections がないと、より多くのルートが複製され、メンテナンスの問題と非効率的なルーティングが発生します。
ところで、すべてのサブドメインは同じ asp.net mvc アプリケーションにつながり、サブドメイン要素を使用してリソースをグローバル化します。
ルートの例とそのロシア語訳は次のとおりです。
routes.MapRoute(
"Content", // Route name
"Page/{id}", // URL with parameters
new
{
controller = "Content",
action = "Show",
id = String.Empty
} // Parameter defaults
);
そしてロシア語で:
routes.MapRoute(
"Content", // Route name
"страница/{id}", // URL with parameters
new
{
controller = "Content",
action = "Show",
id = String.Empty
} // Parameter defaults
);
影響を受けるルートは数十あり、サポートされている各言語はそれらすべてを複製します。現時点では、サブドメインのルート制約が最善の方法だと思いますが、言語ごとに個別のルート コレクションと、影響を受けないルートの共有ルートを用意することをお勧めします。