.Net Globalization and Localization
随着互联网的发展日益壮大和活跃,网上购物交易越来越频繁,一个网站支持多种语言在所难免,所以国际化和本地化在现在的网站中的作用越来越大,一个网站的使用量和搜索量有可能受国际化的影响一点。所以在当今做一个网站支持国际化和本地化非常重要。不仅网站,任何一个产品,如果支持国际化,那么他的使用价值就打打的提高了,所有下面我说一下怎么给一个网站做国际化和本地化,Windows Forms 怎么做国际化和本地化。
Asp.net 网站国际化
1. 新建一个Asp.net web 程序 ,然后添加一个web页面,如Login.aspx,然后在项目上右击add,添加Asp.net Fold 下面就由App_LocalResources 和 App_GlobalResouces,一般添加App_LocalResources,然后再在这个fold 下面添加资源文件,如果你想支持中文,就添加Login.aspx.zh-CN.resx, 如果你想支持英文,就添加Login.aspx.en-US.resx,添加好了之后就去给这几个资源文件中加入需要支持中英文的控件,如图所示:
名称这一列相当于key值,后面的是value,key值是控件的ID和控件要显示的属性。
在aspx页面需要如下代码:
<%@ Page Language="C#" AutoEventWireup="true" UICulture="Auto" Culture ="Auto" CodeBehind="Login.aspx.cs" Inherits="GlobalizationTest.Login" %>
<div>
<br />
<asp:Label ID="lblName" runat="server" Text="" meta:resourcekey="lblName"></asp:Label>
<br />
<asp:Button ID="btnSave" runat="server" Text="" meta:resourcekey="btnSave" />
<br />
前面是一种方式
这是第二种方式:
<asp:Button ID="btnCancel" runat="server" Text="<%$ Resources:btnCancel.Text %>" />
</div>
然后运行此页面,之后修改浏览器的语言,就可以看到不同的语言下的网页内容。
Windows Forms 国际化
1.新建一个windows forms 项目,然后自动生成一个form1 的窗体, 然后如同上面添加几个不同的资源文件,里面值和上面的一样,如后在Form1.Designer.cs文件中修改对应的控件的属性,将显示属性全部为空,
//
// button1
//
this.button1.Location = new System.Drawing.Point(43, 151);
this.button1.Name = "btnSave";
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.TabIndex = 3;
this.button1.Text = "";
this.button1.UseVisualStyleBackColor = true;
然后在Form1.cs文件中加入一个Combox用来选择不同的语言,Combox 的项可以手动输入,也可以用代码写,
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(comboBox1.Text);
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(comboBox1.Text);
ApplyResource();
}
private void Form1_Load(object sender, EventArgs e)
{
comboBox1.SelectedIndex = 1;
}
private void ApplyResource()
{
System.ComponentModel.ComponentResourceManager res = new ComponentResourceManager(typeof(Form1));
foreach (Control ctl in Controls)
{
res.ApplyResources(ctl, ctl.Name);
}
}
这样在运行起来之后可以选择不同的语言显示不同的语言的内容。


.Net Globalization and Localization的更多相关文章
- MySQL Crash Course #19# Chapter 27. Globalization and Localization
Globalization and Localization When discussing multiple languages and characters sets, you will run ...
- Asp.net core 2.x/3.x 的 Globalization 和 localization 的使用 (一) 使用方法
由于Api的接口需要返回多语言,因此参考了网上很多篇文章,,有些文章写的太过于理论,看起来比较费劲,今天下午搞了一个下午,总结了一下经验,, 做这个功能时,主要参考了两篇文章: https://blo ...
- WPF: 本地化(Localization) 实现
本文将讨论一种较为方便的本地化方法. 由于在项目中要实现本地化,所以在网上查找相关的解决方案.通过一系列调研,发现实现本地化的方法主要有以下三种: 通过编译项目以设置 x:Uid 并使用 LocBam ...
- 体验 ASP.NET Core 中的多语言支持(Localization)
首先在 Startup 的 ConfigureServices 中添加 AddLocalization 与 AddViewLocalization 以及配置 RequestLocalizationOp ...
- i18n 和 L10n (internationalization and localization) 国际化与本地化(具有全球战略眼光的公司企业的必由之路)
i18n 和 L10n (internationalization and localization) 国际化与本地化(具有全球战略眼光的公司企业的必由之路) 1 1 https://zh.wiki ...
- ASP.NET Core 中文文档 第二章 指南(4.9)添加验证
原文:Adding Validation 作者:Rick Anderson 翻译:谢炀(Kiler) 校对:孟帅洋(书缘).娄宇(Lyrics).许登洋(Seay) 在本章节中你将为 Movie 模型 ...
- ASP.NET Core 中文文档 第三章 原理(6)全球化与本地化
原文:Globalization and localization 作者:Rick Anderson.Damien Bowden.Bart Calixto.Nadeem Afana 翻译:谢炀(Kil ...
- .NET Core Analysis
.NET Core 1.0.1 Module Component .NET Core MongoDB MongoDB.Driver There has a nuget package availabl ...
- Chapter 3: Develop the user experience
Plan for search engine optimization and accessibility 使用analytical tools分析HTML,如SEO toolkit from MS, ...
随机推荐
- angular中不同controller传值问题
利用angularJS中service单例模式的特性,服务(service)提供了一种能在应用的整个生命周期内保持数据的方式,能够在控制器之间进行通信,且能保证数据的一致性. 一般我们都会封装serv ...
- 立即执行函数: (function(){...})() 与 (function(){...}()) 有什么区别?
没有区别. function foo() {...} // 这是定义,Declaration:定义只是让解释器知道其存在,但是不会运行. foo(); // 这是语句,Statement:解释器遇到语 ...
- Python 对目录中的文件进行批量转码(GBK>UTF8)
通过python实现对文件转码,其实处理很简单: 1.打开读取文件内容到一个字符串变量中,把gbk编码文件,对字符串进行decode转换成unicode 2.然后使用encode转换成utf-8格式. ...
- Mac > 编写跨平台桌面应用开发工具,基于 Web 技术
Electron: The Electron framework lets you write cross-platform desktop applications using JavaScript ...
- Error: Bootstrap's JavaScript requires jQuery错误
引入bootstrap时会出现的问题:boostrap下拉菜单无效,浏览器报Uncaught Error: Bootstrap's JavaScript requires jQuery错误, 解决办法 ...
- 将 List<UserInfo>中的对象按照UserInfo.name进行分组
package yq; import java.util.ArrayList;import java.util.LinkedHashMap;import java.util.List; import ...
- 小识Tableau
关于 Tableau Tableau 帮助人们将数据转化为可以付诸行动的见解.探索无所不能的可视化分析.只需点击几下即可构建仪表板,进行即兴分析. Tableau与R对比: 1.从开发的角度讲,Tab ...
- 简单的方式优化mysql
参考博客 自己笔记本上向mysql导入txt数据,有一个table导入了将近4个小时,而且多个table之间都是相互之间存在关系的,所以做联合查询的时候你会发现问题会十分的多,我之前联合查询两个表就死 ...
- html热力图的操作(点击图片的不同位置操作不同的事件)适合说明文档
页面核心代码 <div class="first_top"> <div class="back"> <img src=" ...
- 21.TFS文件系统搭建笔记
TFS文件系统搭建笔记 参考地址: https://github.com/alibaba/tfs/blob/master/INSTALL.md https://github.com/alibaba/t ...