C# 支持多种语言

通过Resource文件建立本地化。

net
资源文件名(这里是Resource1.resx)由根名称(即Resource1),本地语言名称(默认情况下还没有)及扩展名组成,在读取资源时,资源管理器会根据当前环境决定需要的本地语言名称,例如英语,然后试图以全名读取资源,美国英语的本地名称为en-US(更多语言名称可以从MSDN中查询CultureInfo信息得到),那么资源全名为Resource1.en-US.resx,如果存在该文件,则载入该文件作为资源文件,如果没有则使用默认值Resource1.resx,确定好资源文件后开始查找指定的资源(例如"String1"),如果在本地资源文件中没有找到,则向上查找上一级的本地资源文件,最终找到根名称Resource1为止

1.分别建立Resource1.resx,Resource1.en-US.resx,Resource1.zh-CHS.resx文件;其String1值分别对应为"默认语言”,“英文","中文"。

目前发现:1.必须在程序根目录,不能放在自己建立的文件夹里;

2.必须有Resource1.resx文件(引用的时候就是用这个文件的名字,缺少会引用不了),也就是说虽然系统默认语言中文,已建立中文(Resource1.zh-CHS.resx),但也不能没有Resource1.resx文件。

3.其他语言有的字符串变量名,在Resource1.resx必须存在,因此使用的时候先完整在Resource1.resx建立需要汉化或英语变量名。

2.


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace GlobalizationTest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{

}

private void btnChiness_Click(object sender, EventArgs e)
{
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("zh-CHS");
lblMsg.Text = Resource1.String1;
}

private void btnEnUs_Click(object sender, EventArgs e)
{
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-US");
lblMsg.Text = Resource1.String1;
}
}
}

3.在不同语言建立相同的字符串变量,对应不同语言value值。字符串变量命名要窗口Id名字+字符串变量名。resx文件其实就是xml文件,用记事本可以打开编辑。

C# 支持多种语言,布布扣,bubuko.com

时间: 2024-08-06 12:23:16

C# 支持多种语言的相关文章

深圳短信猫厂家自带短信猫开发包支持多种开发语言

深圳最早从事短信猫生产与销售的短信猫厂家-深圳百利通科技,是深圳短信猫厂家中质量上乘.服务周到的正规公司.提供有丰富短信猫开发软件包及接口程序,支持GSM MODEM短信猫二次开发,可广泛用于二次开发领域,将sms.dll文件拷贝到系统安装目录中的system32文件夹中,然后再根据以下接口函数说明和提供的例程源码开发.支持多种程序短信开发语言如:C#.delphi.VC++等,并提供有程序开发示例DEMO,方便参考.实现快速短信二次开发应用.多应用于如OA.ERP.用友.金蝶等办公系统的短信功

Cassandra在CQL语言层面支持多种数据类型

Cassandra在CQL语言层面支持多种数据类型. CQL类型 对应Java类型 描述 ascii String ascii字符串 bigint long 64位整数 blob ByteBuffer/byte[] 二进制数组 boolean boolean 布尔 counter long 计数器,支持原子性的增减,不支持直接赋值 decimal BigDecimal 高精度小数 double double 64位浮点数 float float 32位浮点数 inet InetAddress i

多种语言打印Hello World

Hello,World,几乎是程序猿学习各种语言的第一个程序,心血来潮,有空拿主流开发语言如何实现,汇总并整理了下.包括大致快速了解下这门语言,开发,编译,环境搭建,运行,简单语言等.其实很多语言是由关联的,在当下,只掌握一门语言是不够的,比如说Python,语言简洁,开发快是其最大优点.但缺点是速度相对较慢,但C/C++/Java开发比较慢,程序运行速度比较快,如果想兼具两者的优点,就要写Python的扩展,这就涉及到(C,C++,Java,Fortan...)等语言,Python的GUI中T

高通针对LED应用的点阵字库解决方案 — 支持多种字号字体显示

高通led字库方案为led显示屏提供标准,专业字库.应用于各类LED屏,包括公交车显示牌,广告牌,停车场系统,排队机显示屏等等.高通字库芯片为这些提供了专业,丰富的字库,LED显示不再有错字.漏字.字型不美观的状况,除字型标准外,还为各类应用提供了多种字体,字号,语种,使得LED文字显示进入标准,专业的时代. 使用实质字库.私造字模,导致字型丑陋中文字体结构出错,严重影响正常显示.此类案例常见于教育类电子产品中,导致学生群体长期阅读不规范中文字,影响学生正确认识汉字.私自用字模提取软件读取数据,

asp.net core 实现支持多语言

asp.net core 实现支持多语言 Intro 最近有一个外国友人通过邮件联系我,想用我的活动室预约,但是还没支持多语言,基本上都是写死的中文,所以最近想支持一下更多语言,于是有了多语言方面的一些实践 国际化/本地化介绍 国际化(Globalization)和本地化(Localization)是要实现的多语言支持的基础 Globalization is the process of designing and developing applications that function fo

如何看待 Kotlin 成为 Android 官方支持开发语言?

"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 如何看待 Kotlin 成为 Android 官方支持开发语言? - Thinkblog - 博客频道 - CSDN.NET Thinkblog 爱编程,爱分享,不仅限于技术. 目录视图 摘要视图 订阅 [活动]2017 CSDN博客专栏评选 &nbsp [5月书讯]

支持多种浏览器的纯css下拉菜单

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312

用代码窥探Java支持的语言

一次偶然发现原来可以用如此简单的方式打印出Java支持的语言,用"窥探"一词嘛--标题党,哈哈. import java.util.Locale; public class Language { public static void main(String[] args) { Locale[] localList = Locale.getAvailableLocales(); for(int i=0; i<localList.length;i++){ System.out.pri

Neutron 如何支持多种 network provider - 每天5分钟玩转 OpenStack(70)

Neutron 的架构是非常开放的,可以支持多种 network provider,只要遵循一定的设计原则和规范.本节我们将开始讨论这个主题. 先讨论一个简单的场景:在 Neutorn 中使用 linux bridge 这一种 network provider. 根据我们上一节讨论的 Neutron Server 的分层模型,我们需要实现两个东西:linux bridge core plugin 和 linux bridge agent. linux bridge core plugin 与 n