Локализация строк в главных страницах приложения ASP.NET MVC - PullRequest
1 голос
/ 18 июля 2009

Мне удалось локализовать страницы просмотра в моем приложении, но есть главные страницы, содержащие некоторые строки.

Похоже, что строка, содержащаяся в главных страницах, должна быть добавлена ​​в файл ресурсов каждой страницы. это кажется ужасным Как я могу элегантно локализовать строки в главных страницах?

Ответы [ 2 ]

3 голосов
/ 01 августа 2009

Если вы не хотите связываться с модификатором доступа, вы можете сделать помощник, чтобы упростить код, который вы должны написать для доступа к файлу ресурса, что-то вроде:

public static class LocalizationHelper
{
    public static string Localize(this HtmlHelper helper, string key)
    {
        var resourceObject = helper.ViewContext.HttpContext.GetGlobalResourceObject("NameOfResourceFileClass", key);
        if (resourceObject == null)
        {
            // i don't recommend throwing the Exception class, I'd define my own Exception type here
            throw new Exception(String.Format("Resource key '{1}' could not be found in Resource class '{0}'","NameOfResourceFileClass", key));
        }

        return resourceObject.ToString();
    }
}

Тогда в вашем .master ...

<%= Html.Localize("NameOfResourceKey") %>
2 голосов
/ 24 июля 2009

Вы должны использовать файл глобальных ресурсов.

  1. Создать папку App_GlobalResources asp.net
  2. Создание файлов ресурсов для ваших языков
  3. Установите модификатор доступа к файлам на Public
  4. Доступ ко всем вашим ресурсам с помощью My.Resources.Resource.MyText (VB синтаксис)

alt text

Для доступа к ресурсу из исходного кода главной страницы:

<asp:Literal ID="Literal2" runat="server" Text="<%$ Resources:ResourcesFileName, ResourcesName%>" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...