.Net资源文件全球化

I:本博文代码示例效果图

好久没来写随笔了.不多说先上大饼! 
 
跟着直接上 [代码下载地址]

II:ASP.NET 资源文件介绍

在ASP.NET特殊文件夹内有那么两个不太引人注意,他们分别是App_GlobalResources, App_LocalResources. 

资源文件命名规则: {文件名}.{区域}.resx 
{区域}这一个是可以忽略的.当忽略{区域}时,如果Page.UICulture跟资源文件内所提供的{区域}都对不上号时,将会以没有设置{区域}的资源文件去呈现.

例如当Page.UICulture = “ja-JP”,而资源文件只有 
Resource.resx 
Resource.zh-CN.resx 
Resource.zh.resx 
Resource.en.resx 
Resource.en-US.resx 
ASP.NET因没有找到Resource.ja-JP.resx而会使用默认的Resource.resx去呈现.

ASP.NET资源文件夹

App_GlobalResources:这里存放全站都可以调用到的资源文件集(比如A.aspx,B.aspx,C.aspx都可以共享用到)

App_LocalResources:这里存放仅单个页面才能调用到的资源文件集(比如A.aspx只可以映射到A.aspx.{区域}.resx, B.aspx映射到B.aspx.{区域}.resx)

每一个资源文件代表着一种区域语言所需用到的资源文件.如上图例子MyGlobalResources 
  
在这里先介绍一下在web.config里面<system.web>下的子节点<globalization /> 
 
这里我把uiCulture设置为"auto"的话. Page.UICulture的属性将会自动对应为客户端浏览器设置的语言环境: 
 
上图中的设置将会影响到浏览器发起的Reqeust头的Accept-Language信息,上图的设置对应如下: 
 
如果没有把uiCulture设置为"auto"的话,ASP.NET系统将不会自动将客户端浏览器的语言环境对应到Page.UICulture.

在次关于.resx的文件结构我就不解释了.相信大家已经很熟悉了.它就类似于Key/Value的配置方式.

III.ASP.NET 中资源文件的使用

在上面提供的项目代码中.我只是写了3种语言(中文,英文,韩文)的资源.其配置入下图: 
 
在这里为大家介绍在aspx页里面的使用方法.

<%$ Resources:{类名}, {资源文件节点} %> 仅调用App_GlobalResources资源文件

<%$ Resources:{资源文件节点} %> 仅调用App_LocalResources资源文件

注意:这类标记必须使用在runat=”server”的标签内的属性使用如:

<asp:Literal ID="ltlSiteName" runat="server" Text="<%$ Resources:MyGlobalResources, SiteName %>"></asp:Literal>

<asp:Literal ID="ltlPassword" runat="server" Text="<%$ Resources:Password %>">

另外也可以用meta:resourcekey="ID”的方式: 

另外关于资源文件的代码生成.可以由如下图配置: 
 
另外有什么问题可以先看例子里的代码!

本文内的代码可以让客户选择一个语言环境然后装到Cookies里,然后登陆页面根据用户选择的语言环境去调用资源文件呈现界面.

在这里相信大家也了解到缺点:一个页面3个语言的话就需要配置3个.resx文件!觉得有点不便利!

本文到此结束.谢谢!

.Net资源文件全球化,布布扣,bubuko.com

时间: 2024-10-29 00:01:21

.Net资源文件全球化的相关文章

Windows Store App 全球化:引用分离资源文件中的资源

大部分应用程序仅需要单个默认资源文件,例如Strings/zh-CN/Resources.resw,但是在某些应用程序中,最好将资源分离到多个资源文件中,以便更好地组织资源内容,这样就需要考虑如何引用这些分离资源文件中的资源.下面通过一个示例讲解如何在后台代码中引用分离资源文件中的字符串资源. 新建一个Windows应用商店的空白应用程序项目,并命名为SeparatedResourcesFiles.在项目中添加如18.2.3小节示例中相同的语言文件夹.资源文件以及资源信息.完成上述操作后,在"z

[Asp.net 5] Localization-resx资源文件的管理

上一篇博文地址:[Asp.net 5] Localization-简单易用的本地化-全球化信息 本文继续介绍asp.net 5多语言.今天重点讲的是多语言的resx文件.涉及到的工程有:Microsoft.Framework.Localization.Abstractions以及Microsoft.Framework.Localization.他们之间的类结构如下如所示: Abstractions包中,包含了定义在工程Microsoft.Framework.Localization.Abstra

.Net 多语言 与资源文件

目前很多网站都支持多语言,特别是中英文.而.Net网站中的多语言就要用到资源文件.资源文件分为全局资源文件(App_GlobalResource)以及本地资源文件(App_LocalResource). 创建资源文件 对于一个项目,我们一般都会创建全局资源文件以及本地资源文件.我们可以首先新建两个文件夹:App_GlobalResource,App_LocalResource. 1. 创建本地资源文件(App_LocalResource) 本地资源文件是针对于某个页面资源信息.所以,原则上我们应

iOS工程 与 资源文件 和 Bundle

在简单的app中,可能只会用到工程,但是项目越大,越复杂,就会需要拆分项目,将各个功能拆散到各个工程中. 可以使用worksapce来管理工程集合. 但是资源文件却不好管理,因为xcode默认只能添加自己工程内,或者子工程的资源文件到target中. 如果是平级的工程,怎么添加呢?可以使用bundle bundle虽然是os x中的资源类型,但是是兼容iOS的 我们可以先创建一个os x的bundle,然后修改其编译类型为iOS的 调整base sdk即可 然后添加资源文件(png,xib,st

win10 uwp 读取resw资源文件

ResourceContext resourceContext = ResourceContext.GetForViewIndependentUse(); ResourceMap resourceMap = Windows.ApplicationModel.Resources.Core.ResourceManager.Current.MainResourceMap.GetSubtree("my"); // Here you load the resource you need var

Spring boot 国际化自动加载资源文件问题

Spring boot 国际化自动加载资源文件问题 最近在做基于Spring boot配置的项目.中间遇到一个国际化资源加载的问题,正常来说只要在application.properties文件中定义正确的资源文件路径,Spring boot就启动时就会自动加载资源. spring.messages.basename=i18n/message 但是我的项目修改后获取消息时系统报错,找不到对应语言的资源配置.于是试图找到原因.Google好久都没找到,简直好像就我一个人遇到这鬼问题一样??.只好自

Solidity编程 三 之 资源文件的组成

3.1 版本语句 源文件可以用版本语句拒绝高版本编译器编译.其中一些高版本可能引入了不兼容的特性,导致编译后出现不可预知的结果.我们希望把这种版本变化控制在最小范围内,同时尽量要求语法和语义同步修改,这个要求很难达到.所以,我们需要去阅读每个版本的修改日志,这些版本都是以 0.X.0或是X.0.0来命名. 版本语句使用如下: pragma solidity ^0.4.0; 这样的源文件不会被0.4.0以前的编译器编译,同时在0.5.0版本以上(包括0.5.0)编译器上也不能编译(使用了 ^ 进行

struts2官方 中文教程 系列七:消息资源文件

介绍 在本教程中,我们将探索使用Struts 2消息资源功能(也称为 resource bundles 资源绑定).消息资源提供了一种简单的方法,可以将文本放在一个视图页面中,通过应用程序,创建表单字段标签,并根据用户的语言环境将文本更改为特定的语言. 贴个本帖的地址,以免被爬:struts2官方 中文教程 系列七:消息资源文件  即 http://www.cnblogs.com/linghaoxinpian/p/6906720.html 下载本章节代码 信息资源属性文件 在Struts2 we

二、添加资源文件

Qt资源系统是一个跨平台的资源机制,可以将各种类型的文件以二进制的方式存储与可执行文件内部.使用Qt Creator可以很方便的创建资源文件.在工程上点击右键选择"添加新文件",可在Qt分类中找到Qt资源文件(Qt Resource File),如下图所示,将其命名为res: 创建完成后会自动打开资源文件,在界面右侧编辑区,有个添加按钮 .如下图: 我们需要先添加前缀,点击添加选择添加前缀,默认前缀是"/new/prefix1",这个可以随便更改但是不要使用中文字符