локализация в веб-формах asp.net с одним глобальным ресурсом - PullRequest
2 голосов
/ 05 декабря 2011

Я хочу иметь один файл ресурсов, подобный этому:

Mui.resx
Mui.fr.resx
Mui.es.resx
...

и я хочу иметь возможность сделать в моем коде что-то вроде этого:

Label1.Text = Mui.Hello;

и в моем aspx что-то вроде этого:

<%=Mui.Hello %>

Кто-нибудь знает, как это сделать? это возможно?

Ответы [ 3 ]

5 голосов
/ 05 декабря 2011

Да, это возможно. Вы можете добавить свой файл ресурсов из File-New- Resource File и там вы можете добавить свой собственный ключ ресурса и их значения по своему желанию либо на английском, либо на другом языке.,

Проверьте это Как: программно получать значения ресурсов и Обзор ресурсов веб-страницы ASP.NET

Для извлечения глобальных ресурсов с использованием строгой типизации

  • Получить ресурс, используя следующий синтаксис:

    Resources.Class.Resource

Пример:
String welcome;
welcome = Resources.WebResources.WelcomeText;

Но если вы используете локализацию Вы проверяли этот ресурс MSDN:
Пошаговое руководство. Использование ресурсов для локализации с ASP.NET

Проверьте раздел Explicit Localization with ASP.NET по ссылке выше.

Пример:

У атрибута text label теперь есть явное выражение, указывающее базовый файл, из которого нужно извлечь ресурс, и ключ для выбора.

<asp:Label ID="Label2" Runat="server" Text="<%$ Resources:LocalizedText, Msg1 %>">

А на вашей странице: Простой вызов с полным путем ключа ресурса.

Ознакомьтесь с этой замечательной статьей - Ресурсы и локализация , которая более подробно об этом расскажет.

Edit- Web.Config Настройки культуры:
Добавьте это
<globalization culture="auto" uiCulture="auto" enableClientBasedCulture="true"/> в web.config под <system.web>

Если вы хотите использовать его на некоторых страницах, используйте атрибуты Culture и UICulture директивы <@Page>.

2 голосов
/ 05 декабря 2011

Добавьте пространство имен Resources .

Label1.Text = Resources.Mui.Hello;

и

<%=Resources.Mui.Hello %>
1 голос
/ 28 июня 2013

У меня такая же проблема, и наконец обнаружил решение .

В браузере, если вы выберете язык браузера Французский [fr] ASP загружает ресурс. fr .resx

Но, если вы выбираете язык браузера Французский (Франция) [fr-FR] ASP загружает ресурс. fr-FR .resx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...