我有一个用C#编写的Visual Studio项目。
我想为不同的语言设置2种不同的设置。例如,setup-en
表示步骤为英语,setup-es
表示西班牙语安装程序。
我希望根据设置构建项目。也就是说,如果我构建setup-en
,我希望它在我的项目中检查,并为用户界面构建项目使用英语,对于西班牙语也是如此。
有没有办法管理这个?希望我很清楚。
答案 0 :(得分:1)
在你的项目中进行一次启动动作,有点像这样:
public void GetSettings()
{
string fileName = "./Names.xml";
if (File.Exists(fileName))
{
XmlTextReader xml = new XmlTextReader(fileName);
while (xml.Read())
{
if (xml.Name.Equals("pgsql"))
{
try
{
button2.Text = xml.GetAttribute("button2");
button3.Text = xml.GetAttribute("button3");
button4.Text = xml.GetAttribute("button4");
button5.Text = xml.GetAttribute("button5");
}
catch (Exception)
{
throw new Exception("Settings: Failed to get all settings");
}
}
}
}
else
{
throw new Exception("Settings: pgsql.xml not found!");
}
}
此示例基于文件Names.xml,该文件包含在项目中。制作一些语言文件夹,并在这些文件夹中包含Names.xml文件。
进行设置,使用在http://hmne.sourceforge.net/找到的HM nis编辑器。 当运行此程序时,插入文件名setup-EN并选择所有DLL和.EXE文件。还包括英语 - Names.xml文件夹/地图 我希望这对你有用
答案 1 :(得分:1)
Visual Studio安装项目不支持此功能。它只能通过设置创作工具来完成,该工具支持为每种语言生成单独的包。
您可以在此处找到设置工具列表: http://en.wikipedia.org/wiki/List_of_installation_software
提供本地化的主要是商业性的。本地化安装程序不是一个简单的功能,这就是它不包含在Visual Studio中的原因。
答案 2 :(得分:0)
我认为你可以通过在每个语言的xml文件中存储标签名称,按钮文本......来实现这一点。选择语言时,将加载具有所选语言的值。
答案 3 :(得分:0)
我认为只有在设置中才能做到这一点。
您可以将所有文本放入单独的文件中,并将英文版本添加到您的英语程序中,并将西班牙语添加到西班牙语中。
然而,这不会影响按钮等(除非你每个人都看这个文件)
最好的方式我猜我有2个版本的(可视)代码和表单,并检查显示之前选择的语言。但这是在实际程序中完成的,而不是设置。