Локализация с использованием MSI-файла - PullRequest
0 голосов
/ 19 февраля 2009

В моем приложении я хочу поддерживать 2 языка (английский и арабский). Сейчас я добавляю английскую версию файла справки по определенному пути. Что если я хочу, чтобы пользователь выбрал язык, на котором он хочет установить свое приложение, и в соответствии с выбором я добавлю соответствующий файл chm в этот путь.

Также другая часть Q, могу ли я сделать что-то подобное, когда вы устанавливаете приложение, оно запрашивает у вас язык, а затем выбрасывает только связанный файл exe?

1 Ответ

0 голосов
/ 19 февраля 2009

Вы не сказали, как добиться локализации в вашем приложении. Поскольку вы разрабатываете в .NET, я предполагаю, что у вас есть файл .resx для каждого языка, содержащий все локализованные данные. Так почему бы не установить оба файла справки и сделать путь к файлу справки локализованной строкой в ​​файле ресурсов?

Кстати, используя локализованные файлы ресурсов, вы можете установить только один исполняемый файл. Вы можете выбрать во время загрузки форм, какой язык будете использовать, указав CultureInfo.CurrentUICulture соответственно, например, на основе параметра конфигурации или ключа реестра.

Относительно второй части вашего вопроса: вы можете попросить своего пользователя выбрать целевой язык. Это установит параметр конфигурации или раздел реестра, описанный выше. Тем не менее, изменение языка во время установки не изменит язык интерфейса программы установки MSI (я не думаю, что это поддерживается *).

Поэтому я бы порекомендовал вам иметь отдельный установщик для каждого языка или использовать другую систему установки (кажется, NSIS - хороший выбор).

*) MSI может автоматически выбирать язык интерфейса на основе региональных настроек, определенных для пользователя. Однако это поведение официально не поддерживается, и способ его достижения также немного сложен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...