Мне нужно локализовать приложение WPF, которое запускается через Clickonce. Суть в том, что продукт, с которым мы собираемся распространять это приложение, имеет «языковые пакеты», где пользователь может загрузить испанский / французский / японский / и т. Д. языковой пакет и переводит веб-интерфейс. Мы также хотим, чтобы приложение WPF работало на любом языке, на котором работает веб-сайт. Я планирую использовать расширение локализации WPF для локализации: http://wpflocalizeextension.codeplex.com/
Проблема в том, что каждый языковой пакет должен быть отдельным изолированным продуктом в цикле выпуска, отдельном от цикла выпуска основного продукта. Кроме того, мы не можем включить все языки, потому что это происходит на маленьком устройстве ARM9, которое имеет 8 МБ ПЗУ. И поскольку каждый языковой пакет представляет собой отдельный цикл, мы не знаем, какие языковые пакеты существуют при создании приложения. (Например, через несколько недель после выпуска новой версии мы выпускаем новый языковой пакет, который добавляет ранее неподдерживаемый язык.)
Одним из решений, о котором я подумал, является включение английской версии приложения WPF с установкой по умолчанию на английском языке, а затем попросить каждый языковой пакет добавить файл Resources.dll и заменить манифест на тот, который содержит ссылку на новые ресурсы. длл. Возможно ли это даже при строгих требованиях хеширования файлов и подписывания кода Clickonce, или это может привести в бешенство, если манифест приложения будет подделан при установке языкового пакета? Есть ли способы сделать это в экосистеме Microsoft? Кажется, вы должны знать, какие языки поддерживаются заранее, когда вы генерируете развертывание Clickonce. Кроме этого, есть предложения по более модульной локализации + системам развертывания?