ASP.NET - почему файл resx по умолчанию используется в выделенном фрагменте кода, когда локализованный используется разметкой? - PullRequest
2 голосов
/ 13 июля 2010

Я создаю веб-приложение ASP.NET на C # и должен локализовать приложение на английский и французский. Я создал два файла ресурсов: App_GlobalResources \ Resources.resx и App_GlobalResources \ Resources.fr.resx, содержащие содержание на английском и французском языках.

Когда я запускаю приложение с установленным на французском языке браузером (fr_FR), французское содержимое корректно отображается в разметке.

Внутри кода, когда я обращаюсь к значениям из ресурсов, он возвращает только английские значения по умолчанию. например,

this.CompanyName.Text = string.Format (App_GlobalResources.Resources.CompanyLocationsFormat, companyName);

Отладка приложения показывает, что для CurrentCulture и CurrentUICulture правильно установлены значения fr_FR.

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

Большое спасибо

(C #, ASP.NET 3.5 SP1, Visual Studio 2008, IE 8.0.7600)

Ответы [ 2 ]

0 голосов
/ 16 июля 2010

У вас есть это в разделе <system.web> в web.config?

<globalization culture="auto" uiCulture="auto" />
0 голосов
/ 13 июля 2010

Вы уверены, что этот конкретный ресурс (CompanyLocationsFormat) существует в файле французских ресурсов? Если ресурс отсутствует, он вернется к стандартному.

...