Страница 1 из 1

Проблемы с локализацией

Добавлено: 11 ноя 2009, 11:41
Alexes
Не понимаю, как она работает.
На тестовом компьютере (комьютере пользователя) в директории приложения есть папка Localization со всеми языками.
Региональные настройки системы - русские, язык ввода в приложении - тоже русский. А при запуске отчёта из приложения viewer имеет английский интерфейс.
На компьютере разработчика - аналогично. Но если переключить язык интерфейса в дизайнере на русский или Default , то viewer тоже становится русским.
Но это разработчик может у себя переключить, а пользователь - нет, поскольку дизайнером он не пользуется.

Что нужно сделать, чтобы на компьютере пользователя был интерфейс, соответствующий региональным настройкам (или языку ввода в приложении)?

P.S. 2009.2

Проблемы с локализацией

Добавлено: 11 ноя 2009, 18:50
Edward
Здравствуйте,

Так происходит, потому что если библиотеки Stimulsoft установлены в GAC, то их использование будет приоритетным и локализационные файлы будут взяты из папки Stimulsoft в Program Files.

Вы можете произвести локализацию из кода:

Код: Выделить всё

Stimulsoft.Report.StiConfig.Load();
Stimulsoft.Report.StiOptions.Configuration.DirectoryLocalization = Path.Combine(Application.StartupPath,"Localization");
Stimulsoft.Report.StiOptions.Configuration.SearchLocalizationFromRegistry = false;
Stimulsoft.Report.StiConfig.LoadLocalization("ru.xml");
Stimulsoft.Report.StiOptions.Configuration.Localization = "ru.xml";
Stimulsoft.Report.StiConfig.Save();
Спасибо.

Проблемы с локализацией

Добавлено: 12 ноя 2009, 07:33
Alexes
Вопрос не в том, откуда берутся файлы, а почему не показывается интерфейс на ожидаемом языке?
Я ожидал, что язык будет определяться региональными настройками либо языком ввода для приложения.
А как определяется в действительности? Или обязательно нужно настраивать StiConfig?

Проблемы с локализацией

Добавлено: 13 ноя 2009, 03:37
Jan
Здравствуйте,

Если в дизайнере отчетов не был выбран ни один из языков (состояние по умолчанию), то язык выбирается исходя из значения свойства CultureInfo.CurrentCulture.TwoLetterISOLanguageName. Если ядро генератора отчетов находит соответствующию локализацию (с совпадающим имененем) в папке Localization, то используется найденная локализация. Если не находит, то будет использована английская локализация. Если был сделан выбор локализации в дизайнере отчетов, то будет использована выбранная локализация (если она есть в папке Localization).

Спасибо.