Проблема локализации ASP.NET - PullRequest
2 голосов
/ 03 июня 2009

Я успешно добавил локализацию на свой сайт. Пришел на следующий день и он не работает. Прочитав много постов и покончил с собой. Я обнаружил, что страница игнорирует page.aspx.en-US.resx. Поскольку у меня нет стандартного resx для страницы, он показывает заголовок метки, который есть у меня в дизайнере. Я просто вынул en-US и сделал его по умолчанию (page.aspx.resx). На странице правильно отображаются строки, находящиеся в файле ресурсов. Я использовал учебник из MSDN и тот же учебник, который вы можете найти во всем Интернете, я даже внес свой вклад в учебник по MSDN. когда вы используете аутентификацию или олицетворение, вы должны предоставить доступ к папке APP_LocalResources через web.config

<location path="App_LocalResources">
<system.web>
 <authorization>
  <allow users="*">
 </authorization>
</system.web>

Это я узнал вчера и решил проблему, но теперь он не использует page.aspx.en-US.resx, если это не значение по умолчанию, я нахожу это очень странным. У кого-то есть решение или предложение?

1 Ответ

2 голосов
/ 04 июня 2009

Я нашел решение своей проблемы. Чтобы файлы ресурсов работали, у вас должен быть файл ресурсов по умолчанию в сочетании с другими файлами ресурсов, например ::10000

default.aspx.resx
default.aspx.en-US.resx
default.aspx.nl-NL.resx

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

...