同一项目的两个设置(visual studio 2008,c#)

时间:2011-12-06 10:45:29

标签: c# visual-studio-2008 setup-deployment

我有一个用C#编写的Visual Studio项目。

我想为不同的语言设置2种不同的设置。例如,setup-en表示步骤为英语,setup-es表示西班牙语安装程序。

我希望根据设置构建项目。也就是说,如果我构建setup-en,我希望它在我的项目中检查,并为用户界面构建项目使用英语,对于西班牙语也是如此。

有没有办法管理这个?希望我很清楚。

4 个答案:

答案 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个版本的(可视)代码和表单,并检查显示之前选择的语言。但这是在实际程序中完成的,而不是设置。