Я читаю одну книгу в WPF, который обеспечивает метод для создания приложения для локализации purposes.What он предложил и то же, что я сделал:локализации в WPF
1) редактировать файл проекта .csproj и добавить элемент en-US для создания локализованной сборки, содержащей локализованный встроенный baml в локальной сети. Когда я скомпилировал проект, он создал подпапку en-US, которая содержала локализованную встроенную базу данных en-US. Я взял ее резервную копию.
2) Я сделал то же самое для fr-FR и создал для него резервную копию.
3) Затем я поместил обе созданные подпапки в папку приложения с именами en-US и fr-FR.
Книга предполагает, что если я изменю настройку культуры на fr-FR (через региональные настройки панели управления), будет использована локализованная сборка fr-FR.
Но я обнаружил, что независимо от того, что такое культура, она использует en-US. Я знаю это, потому что я изменил культуру на fr-FR и удалил папку fr-FR, но все же приложение. запускается, и когда ан-США один удаляется, он выдает исключение.
Может ли кто-нибудь уточнить, где я/неправильно понимаю?
Вот слова из книги:
Подготовка заявления на Локализация
Следующим шагом будет включить поддержку локализации для вашего проекта. Это займет всего один переключающих вам нужно добавить следующий элемент в файл .csproj для вашего проекта в любом в первом элементе:
ан-US
Это говорит компилятору, что культура по умолчанию для приложения является американским английским (obvi ously, вы могли бы выбрать что-то еще, если это подходит). После того, как вы внесете это изменение, процесс сборки изменится. В следующий раз, когда вы скомпилируете приложение, вы получите подпапку с именем en-US. Внутри этой папки есть спутниковая сборка с тем же именем, что и ваше приложение, и расширение .resources.dll (например, LocalizableApplication.resources.dll).
Эта сборка содержит все скомпилированные ресурсы BAML для вашего приложения, которые ранее были сохранены в вашей основной сборке приложений.
Теперь, когда вы запускаете это приложение, обычная среда исполнения (CLR) автоматически ищет спутниковые сборки в правильном каталоге на основе региональных настроек компьютера и загружает правильный локализованный ресурс. Например, если вы работаете в культуре fr-FR, CLR будет искать подкаталог fr-FR и использовать найденные там спутниковые сборки.
Это означает, что если вы хотите добавить поддержку для большего количества культур в локализованное приложение, вам просто нужно добавить дополнительные подпапки и спутниковые сборки, не нарушая работу исполняемого приложения.
Когда CLR начинает зондирование для сборки спутника, он следует нескольким простым правилам :
1. Во-первых, он проверяет наличие наиболее подходящего каталога. Это означает, что он ищет спутниковую сборку, предназначенную для текущего языка и региона (например, fr-FR).
2. Если он не может найти этот каталог, он ищет спутниковую сборку, предназначенную для текущего языка (например, fr).
3. Если он не может найти этот каталог, генерируется исключение IOException.
Отлично! Спасибо большое. –