ASP.NET 本地化 (localization)
简要:
.NET支持Windows和Web应用程序的全球化和本地化。要使应用程序全球化,可以使用System.Globalization命名空间中的类,要使应用程序本地化,可以使用System.Resources命名空间支持的资源。
首先了解一下概念什么是本地化?
顾名思义,本地化就是将你的资源变成本地所特有的一些性质或形式或方式等。在.net中的本地化 Localization 大概的意思就是应用程序在客户端中提供与客户端配置相关的一些资源和语言。
应用:有了本地化我们可以很方便的为某一个项目或应用程序提供多语言的版本,比如XX中文版、XX繁体版和XX英文版等。同时这对于那些外包翻译的特别有用,他们不需要装Visual Studio,一个简单的XML编辑哭就可以满足他们的需求了。当然.Net Framework SDK中也附带的一个工具winres.exe提供对资源本地化进编辑。
下面我们来在一个网站中添加一个文件夹App_GlobalResources 应用程序全局资源 并在其目录下建立Resource.resx、Resource.en.resx、Resource.zh-CN.resx
三个文件的结构都是一样的,只是值有所有不同如下图:
(Resource.resx)
Resource.en.resx(Add、Edit、Title)
Resource.zh-CN.resx(添加、编辑、标题)
接下来建立一个页面来测试一下:
前面代码如:
Code<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Location_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" ><head runat="server"><title>无标题页</title></head><body><form id="form1" runat="server"><div><div style="margin:0 auto;width:800px;"><h1><%=Resources.Resource.title %></h1></div><br /> add:<asp:label id="lblAdd" runat="server" Text="<%$ Resources:Resource, add %>"></asp:label><br /> edit:<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="<%$ Resources:Resource, edit %>" /></div> </form></body></html>
其中像Lable和button中的Text属性可以在其中Expressions中选取如:
好运行一下如:
很明显时应用程序是匹配是文,因为我的浏览器语言默认是zh-cn如下图:
当我把它默认设为en时页面 的语言也会随之改变
好,那当我把它设置为德语时de那会发生什么事呢?会不会也有德语的页面呢?
因为我们的本地化资源中不提供德语资源(Resouce.de.resx)所以程序会默认选择了Resource.resx这个资源。
有人会说我不想更改浏览器的配置,那好,你也可以通过数据库或其它将本地化信息存起来,当系统启动时再调用并应用到其本地化中
这里做了一个QueryString的测试
在Global.axsa中添加
Code /// <summary>/// Sets the culture based on the language selection in the settings./// </summary> void Application_PreRequestHandlerExecute(object sender, EventArgs e) {string lan = Request["language"];if (!String.IsNullOrEmpty(lan)) { CultureInfo culture = CultureInfo.CreateSpecificCulture(lan); Thread.CurrentThread.CurrentUICulture = culture; Thread.CurrentThread.CurrentCulture = culture; } }
转载于:https://www.cnblogs.com/samlin/archive/2008/09/07/ASP-NET-Localization.html
ASP.NET 本地化 (localization)相关推荐
- WPF: 本地化(Localization) 实现
本文将讨论在WPF中一种较为方便的本地化方法. 由于在项目中要实现本地化,所以我在网上查找相关的解决方案.通过一系列调研,发现实现本地化的方法主要有以下三种: 通过编译项目以设置 x:Uid 并使用 ...
- 转: 大年三十整理的asp.net资料!(经典)
使用SqlBulkCopy类加载其他源数据到SQL表 在数据回发时,维护ASP.NET Tree控件的位置 vagerent的vs2005网站开发技巧 ASP.NET2.0小技巧--内部控件权限的实现 ...
- (轉貼) 大年三十整理的asp.net资料! (.NET) (ASP.NET)
大年三十整理的asp.net资料! 使用SqlBulkCopy类加载其他源数据到SQL表 在数据回发时,维护ASP.NET Tree控件的位置 vagerent的vs2005网站开发技巧 ASP.N ...
- 和ASP.NET AJAX应用程序环游地球
By Guy Smith-Ferrier 本文讨论: ASP.NET AJAX 的全球支持 需要对 JavaScript 的支持 基于程序集的 AJAX 本地化 基于文件的 AJAX 本地化 本文使用 ...
- ASP.NET 实用资料[转]
使用SqlBulkCopy类加载其他源数据到SQL表 在数据回发时,维护ASP.NET Tree控件的位置 vagerent的vs2005网站开发技巧 ASP.NET2.0小技巧--内部控件权限 ...
- Asp.net 文章资料整理
如何在数据层分页以提高性能 为gridview添加删除提示. 解决ASP 2.0中GridView控件的删除.插入.编辑命令操作客户端确认问题的另一方法 基于.net开发平台项目案例集锦 EnterP ...
- asp.net速查手册呵呵
GridView/DataGrid单元格不换行的问题 如何在GridView中使用DataFromatString VS2005新控件之GridView 使用高级技巧系列[一][视频] VS2005新 ...
- Msdn 杂志 asp.net ajax 文章汇集
asp.net ajax 充分利用客户端 JavaScript.DHTML 和 XMLHttpRequest 对象.其目的是帮助开发人员创建更具交互性的支持 AJAX 的 Web 应用程序 ASP.N ...
- 与众不同 windows phone (28) - Feature(特性)之手机方向, 本地化, 应用程序的试用体验, 系统主题资源, 本地数据的加密解密...
原文:与众不同 windows phone (28) - Feature(特性)之手机方向, 本地化, 应用程序的试用体验, 系统主题资源, 本地数据的加密解密 [索引页] [源码下载] 与众不同 w ...
最新文章
- AS3.0编程 So本地数据存储(“超级cookies”)--AS3:Local SharedObject
- 成功解决Building wheels for collected packages: dlib Running setup.py bdist_wheel for dlib ... error
- 数据结构之归并排序图文详解及代码(C++实现)
- python全栈_007_Python3格式化输出
- fixed 相对于父容器定位
- 如何在Python中打印异常?
- C++中继承和派生详解(公有、私有、保护继承的区别)
- C#基础知识-对象初始化顺序
- 华为HCNP RS 认证刷题秘笈
- Python 中 jieba 库
- 《最强大脑》之四色定理—— GIS 无处不在
- unity 扩展器添加脚本
- 【JavaSE】Java9Java10Java11新特性(687~717)
- 本周白银市场再刮超级旋风
- NOIP 为什么要学 数学
- mysql_query('set names gbk')_mysql_query(SET NAMES 'GBK');SET NAMES 'GBK'是干什么的?什么意思?...
- spark hint中Broadcast Hints、COALESCE and REPARTITION Hints
- Latex常用语法结构
- 云计算-云平台-国产-华为-FusionSphere
- JQuery绘制北京地铁线路图