c# 多语言设置

设置Form中localiziable 为true   设置语言为所需语言

主要为:

Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("zh-CN");

//对当前窗体应用更改后的资源

ApplyResource();

在APplayResource();

中首先引用所需改变的控件的容器窗体

System.ComponentModel.ComponentResourceManager res = new ComponentResourceManager(typeof(Form1));

然后遍历容器中控件并应用资源

对自定义控件,其窗体一般为UserControl* 在对自定义资源改变时需要重新引用资源文件

System.ComponentModel.ComponentResourceManager res = new ComponentResourceManager(typeof(userControl*));

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.Threading;

using System.Globalization;

namespace GlobalResource

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)

{

Application.Exit();

}

private void 中文ToolStripMenuItem_Click(object sender, EventArgs e)

{

//更改当前线程的 CultureInfo

//zh-CN 为中文,更多的关于 Culture 的字符串请查 MSDN

Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("zh-CN");

//对当前窗体应用更改后的资源

ApplyResource();

}

private void 英文ToolStripMenuItem_Click(object sender, EventArgs e)

{

//更改当前线程的 CultureInfo

//en 为英文,更多的关于 Culture 的字符串请查 MSDN

Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("en");

//对当前窗体应用更改后的资源

ApplyResource();

}

///

/// 应用资源

/// ApplyResources 的第一个参数为要设置的控件

///                  第二个参数为在资源文件中的ID,默认为控件的名称

///

private void ApplyResource()

{

System.ComponentModel.ComponentResourceManager res = new ComponentResourceManager(typeof(Form1));

foreach (Control ctl in Controls)

{

res.ApplyResources(ctl, ctl.Name);

}

//菜单

foreach (ToolStripMenuItem item in this.menuStrip1.Items)

{

res.ApplyResources(item, item.Name);

foreach (ToolStripMenuItem subItem in item.DropDownItems)

{

res.ApplyResources(subItem, subItem.Name);

}

}

//Caption

res.ApplyResources(this, "$this");

}

}

}

判断操作系统语言的方法:

private void Form1_Load(object sender, EventArgs e)

{

不需要判断操作系统的语言,使用资源文件会自动选择。

if (System.Globalization.CultureInfo.InstalledUICulture.Name == "zh-CN")

{

Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("zh-CN");

//对当前窗体应用更改后的资源

ApplyResource();

}

else

{

Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("en");

//对当前窗体应用更改后的资源

ApplyResource();

}

}

来自为知笔记(Wiz)

附件列表

时间: 2024-08-03 23:59:00

c# 多语言设置的相关文章

yii2多语言设置

yii2的多语言切换功能 1.页面添加语言切换按钮,如下图: 代码如下: <ul>       <li>           <a href="javascript:;" onclick="changeLanguage('en_US');">               <span><?php echo \Yii::t('app','English')?></span>           &l

jquery.datatables中文语言设置

/* * sErrMode * 错误信息显示方式 * 分别为alert和throw,默认为alert */ "sErrMode": "throw", /* * sDom * 布局方式,可以自定义,布局项,也可以调换布局顺序 * 详解: * <> 表示一个闭合的div 例如:<> = <div></div> * <"类名称"> 表示一个class="类名称"的闭合的di

VS2012+C语言+设置程序开机自动启动+示例

#include <stdio.h> #include <windows.h> #include <stdlib.h> char* ReplaceString(const char *srcStr, const char *src, const char *dest) //替换字符串,获得文件路径 { char *ptr; int len = strlen(srcStr); ptr = (char*)malloc(sizeof(char)*len+1); strcpy(

笑男手札:SharePoint 2013到底显示什么语言(多语言设置)

SharePoint 2013可以安装多语言包,不过在客户端显示的是何种语言,其实是一个挺耐人回味的问题. SharePoint 2013显示的语言,由安装的语言包.网站的语言设置以及客户端IE的语言设置共同生效.(多么的让人崩溃) 测试结果: 浏览器 SharePoint 页面语言 安装语言 可替换 EN CN / CN CN EN / EN EN EN CN EN CN EN CN CN EN CN EN EN CN CN EN CN 可以参考上面表格:例如, 浏览器设置为英语,ShareP

(转)firefox火狐浏览器语言设置

一.自动安装法: 在mozilla的FTP上找到的:http://ftp.mozilla.org/ 选择版本和对应操作系统http://releases.mozilla.org/pub/mozilla.org/firefox/releases/ ,语言包在xpi目录下,自己找,简体(zh-CN.xpi)/ 繁体(zh-TW.xpi) 好像不同操作系统对应的语言包也没什么区别,个人测试,通用.还是你自己决定吧. 点击下面链接可直接安装(简体中文): 最新版(latest/ ): Linux:htt

Linux字符集和系统语言设置-LANG,locale,LC_ALL,POSIX等命令及参数详解

博文说明[前言]: 本文将通过个人口吻介绍Linux字符集和系统语言设置,包括LANG,locale,LC_ALL,POSIX等命令及参数详解的相关知识,在目前时间点[2017年6月21号]下,所掌握的技术水平有限,可能会存在不少知识理解不够深入或全面,望大家指出问题共同交流,在后续工作及学习中如发现本文内容与实际情况有所偏差,将会完善该博文内容. 本文参考文献引用链接: 1.http://blog.csdn.net/z4213489/article/details/7937894[好文,必看]

Debian 系统修改语言设置成英文

Debian 系统修改语言设置成英文 2012 年 6 月 19 日 / 东东东 / 3条评论 今天安装了一个Debian的虚拟机,安装的时候本来想选英语的,但是时区只能用美国的时区,于是就换上了中文的,没有提示选择时区. 发现在shell中文还是乱码,于是毅然的把语言更改成英语的.打开文件locale sudo vi /etc/default/locale 显示 LANG="zh_CN.UTF-8" LANGUAGE="zh_CN:zh" 将其内容更改成 LANG

桌面支持--outlook默认中文语言设置

outlook默认中文语言设置

CSLA多语言设置

1.在程序运行文件夹例如“\Bin\Debug\”中包含csla生成的资源文件: 2.在程序运行时,设置CSLA的当前语言为你想要的语言,例如:Csla.Properties.Resources.Culture = new System.Globalization.CultureInfo("uk-ua"); 3.检查你想要使用的资源文件是否成功应用 改变前: 4.如果是想要中文,则需要自己翻译或下载翻译后的CSLA的Resources.zh-Hans.resx,因为CSLA有些字符串没

c语言设置cpu affinity (设置程序需要使用的cpu内核) cpu mask

最近打算写个小程序, 需要控制使用的是哪个 cpu 内核,所以做了一些调查, 整理一下分享给大家. ps: 因为毕业季很久没有写博客了, 以后继续. 顺便鄙视一下那些转载不声明出处的, by watkins.song pps: 最近有了个新的id, 因为在Oracle, wei.x.song, 不知到以后用哪个id比较酷一点 主要参考: http://www.gnu.org/software/libc/manual/html_node/CPU-Affinity.html/ http://stac