Локализация имен действий контроллера

Я столкнулся с проблемой. Я хотел бы локализовать имена моих действий в моем проекте, чтобы французские люди могли иметь чистые URL-адреса с французскими именами.

http://www.test.com/Home должно быть http://www.test.com/Accueil

Это тоже хорошо для индексации Google. Более того, я хотел бы быть Restful в приложении, поэтому я бы тоже хотел сохранить английское имя, потому что разработчики (даже французы) предпочитают работать с английскими именами.

Не знаю, возможно ли это и как.

Моя первая идея должна заключаться в том, чтобы получить язык браузера, назначить его CurrentThread.CurrentCulture, чтобы я мог выбрать желаемое имя представления.

Большое спасибо за ответы.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
179
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

это можно сделать, зарегистрировав маршруты в global.asax.

если обычно у вас есть это:

routes.MapRoute("Catalog-Brands", "catalog/brand/", new {controller = "Brand", action = "Index", isActive = true});

Вы тоже можете сделать это (я не знаю французского, извините)

routes.MapRoute("Catalog-Brands-French", "french-catalog/french-brand/", new {controller = "Brand", action = "Index", isActive = true});

вы можете сделать их все доступными глобально или иметь отдельные:

public static void RegisterUsRoutes

public static void RegisterFrenchRoutes

вам придется принимать решение при запуске приложения (вы можете или не сможете регистрировать маршруты во время выполнения.)

Если вы можете использовать ISAPI, то есть если вы контролируете IIS, лучше всего использовать ISAPI, я рекомендую вам Ionics Isapi: http://www.codeplex.com/IIRF

Он более или менее реализует то, что делает мод Rewrite в Apache (перенаправления).

Другие вопросы по теме