locked
Автоматический выбор языка сайта на Razor. RRS feed

Все ответы

  • Т.е. вы хотите добавить локалицазию в ваш ASP.NET MVC проект?

    Переношу ваш вопрос в раздел Веб


    Для связи [mail]

    26 марта 2012 г. 9:04
    Модератор
  • Думаю вам должно помочь данное руководство в решении проблемы - MVC 2: Полное руководство по локализации, попробуйте с ним ознакомиться.

    Пожалуйста, не оставляйте топик без ответа или комментариев.

    Спасибо.


    Для связи [mail]

    28 марта 2012 г. 8:52
    Модератор
  • К сожалению на русском языке мало статей по данной тематики, попробуйте создать ресурсный файл как показано в руководстве Пошаговое руководство. Использование ресурсов для локализации совместно с ASP.NET, вам наверное больше подходит Неявная локализация

    Также есть инстукция как локализовать WebMatrix сайт, но на английском языке - Globalization And Localization With Razor Web Pages


    Для связи [mail]

    29 марта 2012 г. 10:09
    Модератор
  • Ну в MVC немного другой принцип реализации. Вот почитайте статью, в ней всё подробно рассказано, как раз по Вашей теме.
    19 мая 2012 г. 5:54
    Модератор
  • Ну я же привёл высше ссылку, где можно почитать про локализацию, желательно использовать её. Но если хотите решение в лоб, то делайте так. В Glogal.asax регестрируйте следующий роут

    routes.MapRoute(
              "Default", // Route name
              "{lang}/{controller}/{action}/{id}", // URL with parameters
              new { lang = "en", controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
          );

    в Вашем контроллере

    namespace MvcApplication.Controllers
    {
      public class HomeController : Controller
      {
        public ActionResult Index(string lang)
        {
          string[] sitesArr = new string[]{"ru", "en", "de", "it"};
          if (sitesArr.Contains(lang))
            ViewBag.Lang = lang;// Передаём тип языка в представление, если он есть в нашем массиве
          else
            ViewBag.Lang = "en";//Иначе английский
          return View();
        }
    
        public ActionResult About()
        {
          return View();
        }
      }
    }

    28 мая 2012 г. 5:23
    Модератор
  • Привет.

    Давайте спокойно пробовать искать решение проблемы. Посмотрите например вот это - Multi-Language website и попробуйте также указать в _AppStart.cshtml нужный вам роутинг.

    В default.cshtml вам видимо нужно узнавать язык браузера и в зависимости от него делать редирект на необходимый url - URL Has to many redirects.


    Для связи [mail]

    28 мая 2012 г. 9:15
    Модератор
  • "Разве в WebMatrix можно создавать Glogal.asax?" - можно, инструмент другой, но приложение то же.
    28 мая 2012 г. 10:07
    Модератор
  • Что-то я не поуму, что вы пытаетесь сделать? Зачем создаёте обработчик?
    25 февраля 2013 г. 12:08
    Модератор
  • Тут возможно возникает зацикливание редиректов, проверки нет на то что он уже может находится по этому адресу.
    2 марта 2013 г. 13:03
  • вообще надо регистрировать в web.config.

    Вот пример создания Пошаговое руководство: создание синхронного обработчика HTTP.

    Но на предмет зацикливания редиректов тоже надо продумать.

    3 марта 2013 г. 15:04
  • Ну я же вам писал высше, что данный вопрос можно решить используя стандартные средства или на уровне маршрутизации. Обработчик тут вообще не к месту.
    4 марта 2013 г. 6:13
    Модератор
  • А вы сам класс контроллера добавляете в проект?
    8 марта 2013 г. 18:42
    Модератор
  • Пишет: Не удалось найти имя типа или пространства имен "Controller" (пропущена директива using или ссылка на сборку?)

    Попробуйте добавить Systeb.Web (Add reference -> .NET, в списке будет System.Web).


    И убедитесь, что прописано
    using System.Web.Mvc

    18 марта 2013 г. 14:01
    Модератор
  • akbcsu

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

    Спасибо.


    Для связи [mail]

    22 марта 2013 г. 12:23
    Модератор