转换页面语言

时间:2019-04-15 12:30:21

标签: c# winforms localization

有人知道我的代码为什么不起作用吗?我到处都有英文字符串。

请注意,这不是一个ASP.NET项目,而是一个实际的WinForms项目。

我已经建立了一个Windows窗体项目以使用本地化,以便它将支持阿拉伯语和英语。

 Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");

        Admin admin = new Admin();
        this.Close();
        admin.Show();

 Thread.CurrentThread.CurrentUICulture = new CultureInfo("ar-KW");

        Admin admin = new Admin();
        this.Close();
        admin.Show();

我尝试这个;

            Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-US");
        this.Controls.Clear();
        this.RightToLeftLayout = false;
        InitializeComponent();
        Properties.Settings.Default["lang"] = "en-US";
        Properties.Settings.Default.Save();

            Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("ar-KW");
        this.Controls.Clear();
        InitializeComponent();
        Properties.Settings.Default["lang"] = "ar-KW";
        Properties.Settings.Default.Save();

当我通过调试开始对其进行测试时,它可以工作 但是当我设置应用程序时,它停止工作。

1 个答案:

答案 0 :(得分:2)

如果您的应用程序在调试模式下工作并且可以切换语言,则检查“ bin \ debug”文件夹并在其他计算机上复制/部署语言文件夹“ ar”或“ ar-KW”以及您的EXE文件 转到调试文件夹,然后将包括所有文件夹(.pdb除外)在内的所有文件复制到目标计算机上。