Имея файл Resx
, вы можете создать спутниковую сборку для своего приложения.
В этом посте, я полагаю, вы создали проект с именем ResGenExample
, содержащий Form1
, и вы установили Localizable
свойство вашей Form1
на true
, и у вас есть Form1.resx
,
В этом посте описывается, как создать спутниковую сборку для новых языков с файлом Resx без перекомпоновки приложения.
Спутниковая сборка для нового языка с файлом Resx без перекомпоновки приложения
Для этого выполните следующие действия:
Предположим, вы создали Form1.fa-IR.resx
, содержащий локализованные значения для персидского языка, на основе существующего Form1.resx
.
Откройте командную строку разработчика для Visual Studio и используйте команду CD
для перехода кпапка, содержащая Form1.fa-IR.resx
для запуска некоторых команд.
Используйте resgen.exe для преобразования Form1.fa-IR.resx
файла в Form1.fa-IR.resources
с помощью следующей команды:
Form1.fa-IR.resx ResGenExample.Form1.fa-IR.resources
Используйте al.exe для создания вспомогательной сборки, содержащей файл .resources
, созданный на предыдущем шаге:
al /embed:ResGenExample.Form1.fa-IR.resources /out:ResGenExample.resources.dll /c:fa-IR
Создайте папку fa-IR
рядом с исполняемым файлом вашего приложения (например, в папке Debug) и скопируйте созданную сателлитную сборку в эту папку.
Тогда достаточно установить UICulture
перед отображением Form1
:
System.Threading.Thread.CurrentThread.CurrentUICulture =
System.Globalization.CultureInfo.GetCultureInfo("fa-IR");
Здесь вы можете найти сообщение MSDN, касающееся Создание спутниковых сборок для настольных приложений