Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > WPF и Silverlight > Как реализовать multi-language для WPF приложения


Автор: varlo 8.7.2009, 18:27
Есть WPF приложение, состоящее из нескольких xaml страниц.
Как лучше реализовать в нем поддержку нескольких языков.
Текущий язык задается в конфигурационном файле.

Переводы собраны в xml файл такой структуры, в котором собраны переводя для всех labels, caption и т.п все форм.

<?xml version="1.0" encoding="utf-8" ?>
<Keywords>
  <Keyword ID="FirstCloseOrPause">
    <Languages>
      <EN>1. Close or pause all non essential programs and services.</EN>
      <DE></DE>
    </Languages>
  </Keyword>
  <Keyword ID="FirstMakeSureThatAllSystemChangesSpecified">
    <Languages>
      <EN>1. Make sure that all system changes specified in the file have been applyed to the current system.</EN>
      <DE></DE>
    </Languages>
  </Keyword>
  <Keyword ID="FirstProceedToInstall">
    <Languages>
      <EN>1. Proceed to install/run the installation or make necessary changes/updates in the system.</EN>
      <DE></DE>
    </Languages>
  </Keyword>
  <Keyword ID="Add">
    <Languages>
      <EN>Add</EN>
      <DE></DE>
    </Languages>
  </Keyword>
  <Keyword ID="AdvertizingShortcuts">
    <Languages>
      <EN>Advertizing Shortcuts</EN>
      <DE></DE>
    </Languages>
  </Keyword>
…
</Keywords>

Добавлено через 3 минуты и 15 секунд
Текущий язык задается в App.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="lang" value="EN" />
  </appSettings>
</configuration>

Автор: Partizan 8.7.2009, 20:34
varlo, существует локализационное решение, которое рекомендуется MS и основано на сателитных сборках

http://msdn.microsoft.com/en-us/library/ms788718.aspx

Автор: AndZho 8.7.2009, 22:30
Я как-раз тоже интересуюсь этим вопросом, читаю вот http://wpflocalization.codeplex.com/

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)