asp.net本地化实战方案

本文介绍了一种基于ASP.NET的多语言实现方案,利用资源文件实现本地化,并通过特定的类和方法进行多语言切换。该方案适用于需要支持多种语言的Web应用程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题列表

1.         多语言显示

           i.              页面显示的语言 page

         ii.              控件及公共部分的多语言

        iii.              多语言环境中使用AJAXJS

        iv.              文本及图片的多语言处理

         v.              代码中提示及输出信息的多语言[通用标签 、提示、错误信息等]

2.         多语言的切换

           i.              多语言之间的切换 [当用户选择切换]

         ii.              如何保存用户的多语言信息 [第一次打开与页面间跳转]

3.         本地化的编程

           i.              信息内容的多语言 [文章、留言等]

         ii.              本地化设置的转换 [时间 货币]

        iii.              本地化编程[排序与比较]

4.         结合第三方组件

           i.              第三方控件的多语言结合使用 []

         ii.              与外部数据[web service]结合的问题

5.         管理与发布多语言

           i.              如何添加多语言  [发布新的语言信息]

本地化方案介绍

1、    概述

系统将基于NET本地化特性,利用资源文件来实现用户的本地化需求。关于NET的本地化特性相关知识,请参考ASP.NET 全球化和本地化[MSDN文档]

系统通过XML文件来存储保存多语言信息;使用cookie将用户的语言设置保存在客户端。当用户访问时页面,基类pageBase 读取用户本地语言设置与语言更改请求,在页面初始化前完成当前页面的语言设置。

2、    主要类

通过CultureCommon来完成对配置文件的读取,对本地化设置的读取与保存操作;通过页面基类pageBase来完多语言之间的切换。

CultureCommon

CultureCommon 主要完成对多语言信息处理的封装。通过LanguageNameCurrentCulture来读取当前页面的配置信息;通过DefaultLanguage来获取与设置客户端的语言设置信息。通过BindLanguage 将配置文件信息绑定到DropDownList控件上。

pageBase

pageBase 为站点所有页面的基类。其重写Page类的InitializeCulture方法,通过与CultureCommon完成了多语言之间的切换。

3、    多语言切换的流程

调用与编程

1、    本地化开发步骤

           i.              继承。所有继承页面pageBase

         ii.              转换。页面上的静态文本转换成Localize控件。

       iii.              生成资源文件。待页面功能完成后,将公共信息创建到GlobalResource,其它信息通过VS工具创建到LocalResource中[页面-设计视图-工具-生成本地资源文件].

        iv.              调用。在页面中通过自动绑定和手动绑定;程序中可以通过GetLocalResourceObject GetGlobalResourceObject 或强类型来完成调用。参考示例代码。

2、    注意事项

           i.              page中的 Direction [ltr| rtl]title 特殊处理,参考示例代码。

         ii.              字符串的串联。有些文本需要组合标签时,请使用先{0}来代替运行中的文本,再使用string.Format(str,param,parma) 来处理文本标签。

        iii.              使用FCK等第三方工具时,注意手动设置第三方工具的语言信息。如:

        FCKeditor3.DefaultLanguage= CultureCommon.LanguageName.ToLower(CultureCommon.CurrentCulture)

        iv.              统一使用Unicode UTF-16net默认值)编码输入输出信息。

         v.              JS中使用文本都需要通过程序控制声称变量。

3、    调用多语言的信息

           i.              程序中可以通过CultureCommon来获取当前系统的本地化信息与系统的语言列表。

         ii.              程序中请把语言的name 作为识别标记。如 en-GB,en-US,zh-CN

 

多语言的维护

1、    添加所需的资源文件。

2、    修改多语言配置文件[App_Data/ LanguageConfig.xml]。

讨论点

1.         客户端保存语言的信息的问题[COOKIE切换保存]

2.         是否需要使用本地化。[需要,除了货币]

3.         多语言配置保存的问题。[XML

4.         Web Service结合的问题。时间与数据类型。

文档及代码下载

 下载

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值