随着互联网的发展日益壮大和活跃,网上购物交易越来越频繁,一个网站支持多种语言在所难免,所以国际化和本地化在现在的网站中的作用越来越大,一个网站的使用量和搜索量有可能受国际化的影响一点。所以在当今做一个网站支持国际化和本地化非常重要。不仅网站,任何一个产品,如果支持国际化,那么他的使用价值就打打的提高了,所有下面我说一下怎么给一个网站做国际化和本地化,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的更多相关文章

  1. MySQL Crash Course #19# Chapter 27. Globalization and Localization

    Globalization and Localization When discussing multiple languages and characters sets, you will run ...

  2. Asp.net core 2.x/3.x 的 Globalization 和 localization 的使用 (一) 使用方法

    由于Api的接口需要返回多语言,因此参考了网上很多篇文章,,有些文章写的太过于理论,看起来比较费劲,今天下午搞了一个下午,总结了一下经验,, 做这个功能时,主要参考了两篇文章: https://blo ...

  3. WPF: 本地化(Localization) 实现

    本文将讨论一种较为方便的本地化方法. 由于在项目中要实现本地化,所以在网上查找相关的解决方案.通过一系列调研,发现实现本地化的方法主要有以下三种: 通过编译项目以设置 x:Uid 并使用 LocBam ...

  4. 体验 ASP.NET Core 中的多语言支持(Localization)

    首先在 Startup 的 ConfigureServices 中添加 AddLocalization 与 AddViewLocalization 以及配置 RequestLocalizationOp ...

  5. i18n 和 L10n (internationalization and localization) 国际化与本地化(具有全球战略眼光的公司企业的必由之路)

    i18n 和 L10n (internationalization and localization)  国际化与本地化(具有全球战略眼光的公司企业的必由之路) 1 1 https://zh.wiki ...

  6. ASP.NET Core 中文文档 第二章 指南(4.9)添加验证

    原文:Adding Validation 作者:Rick Anderson 翻译:谢炀(Kiler) 校对:孟帅洋(书缘).娄宇(Lyrics).许登洋(Seay) 在本章节中你将为 Movie 模型 ...

  7. ASP.NET Core 中文文档 第三章 原理(6)全球化与本地化

    原文:Globalization and localization 作者:Rick Anderson.Damien Bowden.Bart Calixto.Nadeem Afana 翻译:谢炀(Kil ...

  8. .NET Core Analysis

    .NET Core 1.0.1 Module Component .NET Core MongoDB MongoDB.Driver There has a nuget package availabl ...

  9. Chapter 3: Develop the user experience

    Plan for search engine optimization and accessibility 使用analytical tools分析HTML,如SEO toolkit from MS, ...

随机推荐

  1. linux常用的命令

    Linux简介及Ubuntu安装 Linux,免费开源,多用户多任务系统.基于Linux有多个版本的衍生.RedHat.Ubuntu.Debian 安装VMware或VirtualBox虚拟机.具体安 ...

  2. 【转载】Tomcat崩溃事件

    转载地址:http://www.blogjava.net/tedeyang/archive/2008/06/04/205740.html Tomcat崩溃事件 今天一大早产品一部项目经理就来找我,他们 ...

  3. http协议梳理(个人学习用)

    HTTP默认的端口号为80,HTTPS的端口号为443. 在Internet中所有的传输都是通过TCP/IP进行的.HTTP协议作为TCP/IP模型中应用层的协议.HTTP协议通常承载于TCP协议之上 ...

  4. Android Studio 基本使用

    一 . 目录结构: 目录结构本身代表了一个workspace空间 Android stuido是单工程的开发模式 Android stuido里面project表示工作空间,相当于eclipse里面的 ...

  5. [转]UE4 Blueprint编译过程

    Blueprint 编译概述   一.术语 Blueprint,像C++语言一下的,在游戏中使用前需要编译.当你在BP编辑器中,点击编译按钮时候,BP资源开始把属性和图例过程转换为一个类对象处理. 1 ...

  6. centos7 安装php7+mysql5.7+nginx+redis

    .1.先修改yum源  https://webtatic.com rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest- ...

  7. List中存储同一个对象(内容不同)

    List中存储同一个对象,前面的会被后存入的对象覆盖,解决方法:每次存入新的对象

  8. The communication of Linux Server and Localtion

    当用Secure CRT远程登录服务器时,若建立本地与服务器间文件自由传输的机制,我们就可以实现远程办公.具体方法如下: 1. 确定远程服务器的IP.可以通过Secure CRT进行远程登录. 2.在 ...

  9. Visual Studio(VS2012) Project&(Solution) 虚拟文件夹 & 物理文件夹

    今天发生个怪事:在 Solution Explorer 中,x project 内建立文件夹(folder)时,同时在磁盘目录下也创建了同名的文件夹. 1, 原本:应该只是创建一个“虚拟文件夹”用来“ ...

  10. display inline-block 垂直居中

    table td:after {display:inline-block;width:0;height:100%;vertical-align:middle;content:'';}