C#简单的国际化
1、新建一个资源文件夹,并在资源文件夹新建中英问的资源文件,如图:
2、中英文资源文档添加资源,如图:
3、Program.cs中添加根据系统语言确定中英文,这里默认为英文:
using Internationalization.Resources;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Reflection;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms; namespace Internationalization
{
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
///国际化代码
CultureInfo language = new CultureInfo("en-US");//设置默认为英语
Language.LocRM = new System.Resources.ResourceManager("Internationalization.Resources.ResourceEN", typeof(ResourceEN).Assembly);
if (Thread.CurrentThread.CurrentCulture.Name.ToUpper().Contains("ZH") || Thread.CurrentThread.CurrentUICulture.Name.ToUpper().Contains("ZH"))
{
language = new CultureInfo("zh-CN");
Language.LocRM = new System.Resources.ResourceManager("Internationalization.Resources.ResourceZH", typeof(ResourceZH).Assembly);
}
Thread.CurrentThread.CurrentCulture = language;
Thread.CurrentThread.CurrentUICulture = language;
Application.CurrentCulture = language; Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
4、语言本地化(实例化)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Resources;
using System.Text;
using System.Threading.Tasks; namespace Internationalization
{
class Language
{
public static ResourceManager LocRM; //语言本地化
}
}
5、测试一下
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms; namespace Internationalization
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
label_Name.Text = Language.LocRM.GetString("Name");
tB_Name.Text = Language.LocRM.GetString("Sex");
}
}
}
6、大功告成,展示结果(这里两种结果都展示一下)
7、这里已经实现了中英文,但是细心的朋友们发现了,这里的UI排版布局不一样,这就涉及到另一种国际化了,咳咳,别急,且听频道慢慢道来:
打开Form1的属性找到Language属性,这里第一项就是默认选项,你可以选择英语或者中文,然后在下面布局,你会发现存在同样的控件,可以布局完全不一样。
好了,今天就到这里,希望能帮助大家。
C#简单的国际化的更多相关文章
- vue中使用vue-i18n 一个简单的国际化操作
1.安装:npm install vue-i18n --save-dev 2.在main.js文件中引入: import VueI18n from 'vue-i18n' Vue.use(VueI18n ...
- 简单的国际化i18n
就是简单的中英文转换 index.jsp <%@ page language="java" contentType="text/html; charset=UTF- ...
- C# WinForm国际化的简单实现
软件行业发展到今天,国际化问题一直都占据非常重要的位置,而且应该越来越被重视.对于开发人员而言,在编写程序之前,国际化问题是首先要考虑的一个问题,也许有时候这个问题已经在设计者的考虑范围之内,但终归要 ...
- C# WinForm 中英文实现, 国际化实现的简单方法
来源:http://www.jb51.net/article/45675.htm,今天看到了借鉴过了,保存一下,下次开发直接用嘻嘻 软件行业发展到今天,国际化问题一直都占据非常重要的位置,而且应该越来 ...
- sql server 关于表中只增标识问题 C# 实现自动化打开和关闭可执行文件(或 关闭停止与系统交互的可执行文件) ajaxfileupload插件上传图片功能,用MVC和aspx做后台各写了一个案例 将小写阿拉伯数字转换成大写的汉字, C# WinForm 中英文实现, 国际化实现的简单方法 ASP.NET Core 2 学习笔记(六)ASP.NET Core 2 学习笔记(三)
sql server 关于表中只增标识问题 由于我们系统时间用的过长,数据量大,设计是采用自增ID 我们插入数据的时候把ID也写进去,我们可以采用 关闭和开启自增标识 没有关闭的时候 ,提示一下错 ...
- 【转】Struts2国际化
原文章:http://www.cnblogs.com/hellokitty1/p/5083663.html 简单理解 国际化简称i18n,其来源是英文单词 internationalizati ...
- 菜鸟学习SSH(二)——Struts国际化
国际化(internationalization,i18n)和本地化(localization,l10n)指让产品(出版物,软件,硬件等)能够适应非本地环境,特别是其他的语言和文化.程序在不修改内部代 ...
- iOS国际化和genstrings所有子目录本地化字符串
最近在忙着一个国外项目,天天加班,没时间更新博客.就简单讲讲国际化的知识. 首先,我们使用字符串,必须用NSLocalizedString(key,comment),这样我们在不同的Localizab ...
- iOS Storyboard创建APP 的国际化操作
Storyboard创建APP 的国际化操作 最近在看<X-code江湖录>这本书,看到了APP 国际化这点,刚刚也简单的实践了一下.现在和大家分享分享! 写的这个简单的Demo全都是用 ...
随机推荐
- kubernetes里的各种port解惑
系列目录 在编排kubernetes时,Deployment的Pod项有containerPort,Service文件里的port,targetPort, nodePort,这些pod概念有些时候可能 ...
- ajax 实现三级联动下拉菜单
ajax 实现三级联动,相当于写了一个小插件,用的时候直接拿过来用就可以了,这里我用了数据库中的chinastates表, 数据库内容很多,三级联动里的地区名称都在里面,采用的是代号副代号的方式 比如 ...
- HDU 4622 Reincarnation 后缀自动机 // BKDRHash(最优hash)
Reincarnation Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others) P ...
- Linux就该这么学--命令集合1(常用系统工作命令)
1.用echo命令查看SHELL变量的值(前面有$符号): echo $SHELL 2.查看本机主机名: echo $HOSTNAME 3.查看当前的系统时间: date 4.按照“年-月-日 时:分 ...
- java replaceAll Replace
java ReplaceAll 的两个参数都必须是正则表达式. 在正则表达式中 \ (一个斜线)是用 \\ 来表示(即:用两个斜线表示一个斜线) 而在Java语言中 \ (一个斜线)是用 \\ 来表示 ...
- Ubuntu 14.04中安装tftp
1. 安装sudo apt-get install tftp-hpa tftpd-hpa 2. 建立目录sudo mkdir /tftpboot sudo chmod 0777 /tftpbootsu ...
- 使用php ffmpeg处理视频
工作中遇到video加载视频的问题,但是视频封面在手机上无法取到视频的第一帧,video标签无法在手机上取到第一帧,经过几天的研究于搜索终于找到比较好用的办法,就是php ffmped 插件,该插件的 ...
- RabbitMQ的安装与客户端的简单实用
本文主要内容是RabbitMQ的安装步骤[Windows系统与linux上的安装]及客户端的简单使用. 1.下载 下载地址:http://www.rabbitmq.com/download.html ...
- jquery特效(6)—判断复选框是否选中进行答题提示
前面有一段时间思想开了小差,跟着师父学习了一段时间才发现差距很大,看来我要奋起直追~\(≧▽≦)/~啦啦啦. 最近公司在做一个项目,需要根据用户选择的选项给出相应的提示,下面来看我写的测试程序的效果: ...
- Appium——连接真机,adb devices获取不到设备号
连接真机后,使用 adb devices获取不到设备号. 1.检查usb接口是否正常,是否正常链接到电脑 2.手机开发者模式是否开启,usb调试是否开启 3.检查驱动是否正常 4.如果驱动显示黄叹号, ...