Вопрос

Я рассматриваю возможность глобализации приложения, которое я разработал в asp.net mvc.

В настоящее время я использую файлы ресурсов для хранения сообщений, которые я представляю пользователю (т. Е. Когда я сохраняю что-либо в базе данных, и пользователю отображается сообщение "То, что было сохранено правильно", этот текст сохраняется в файле ресурсов, так что я могу легко локализовать сообщение для другого языка.

У меня вопрос в том, как сделать это в представлении в целом?Прямо сейчас у меня есть несколько представлений, которые в основном представляют собой HTML с небольшим количеством логики представления.

Какова наилучшая практика для локализации представления?Я взглянул сюда:

Подход, описанный в этом посте, кажется интересным, но мне интересно, насколько легко будет поддерживать отдельные представления для каждого языка.

ПРИМЕЧАНИЕ:Я не особо занимался глобализацией или локализацией в asp.net в целом, поэтому могут быть некоторые лучшие практики из мира, отличного от mvc, которых мне не хватает.

Это было полезно?

Решение

Мы столкнулись с той же проблемой с нашим новым приложением MVC и наше решение здесь.Поддерживать отдельные виды может быть тяжелой работой, но поддерживать один и тот же вид на разных языках, по-видимому, так же сложно, поэтому мы решили, что сохранение общего вида даст нам больше возможностей, которые потребуются для выпуска релиза для азиатских стран.

Надеюсь, это поможет вам.

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

Используйте App_LocalResources для каждой папки просмотра и размещайте ресурсы для каждого представления в папке и для каждого языка.

Подробная информация здесь.

Вы могли бы попробовать настроить свои маршруты так, чтобы они были чем-то вроде:

    RouteTable.Routes.MapRoute(
        "Globalization",
        "{localization}/{controller}/{action}/{id}",
        new { localization = "en-us", controller = "Globalization", action = "Index", id = "" }
        );

и затем используйте localization в качестве параметра для ваших действий, точно так же, как id является параметром.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top