多种语言切换的问题,高手进

问题描述

情况是这样的,网站用资源文件做了多国语言,在切换的语言的时候,用了全局的PreRequestHandlerExecute或BeginRequest切换语言,但是有个小问题,就是页面的状态不能保存,例如访问的页面是http://localhost/a.apsx?id=2,切换语言之后(如英文)就是http://localhost/a.apsx?CurrentCulture=en-us,那个id=2丢失了,而且页面上控件的状态也保存不了,切换的方法是:stringstr=Request.QueryString["CurrentCulture"];if(!String.IsNullOrEmpty(str)){Thread.CurrentThread.CurrentUICulture=newCultureInfo(str);Thread.CurrentThread.CurrentCulture=CultureInfo.CreateSpecificCulture(str);}这个代码放在PreRequestHandlerExecute或BeginRequest都解决不了上面的那个状态丢失的问题,请问有没有好的方法做到保存页面的状态呢?

解决方案

解决方案二:
可以用Session,把当前的语系保存在Session中。然后加载页面时读取Session加以判断。。。
解决方案三:
引用1楼liuyun1987的回复:

可以用Session,把当前的语系保存在Session中。然后加载页面时读取Session加以判断。。。

同意楼上的,这个没问题
解决方案四:
引用楼主zephirum的帖子:

情况是这样的,网站用资源文件做了多国语言,在切换的语言的时候,用了全局的PreRequestHandlerExecute或BeginRequest切换语言,但是有个小问题,就是页面的状态不能保存,例如访问的页面是http://localhost/a.apsx?id=2,切换语言之后(如英文)就是http://localhost/a.apsx?CurrentCulture=en-us,那个id=2丢失了,而且页面上控件的状态也保存不了,切换的方法是:stringstr=Request.QueryString["CurrentCulture"];if(!String.…

切换语言的代码有问题,把代码贴出来,不是你贴出的那一块,是redirect的那部分代码!
解决方案五:
publicstringurl="";privatevoidPage_Load(objectsender,System.EventArgse){if(Request.QueryString.ToString()==""||Request.QueryString.ToString()==null){url=".."+"/"+"文件所处文件名"+"/"+System.IO.Path.GetFileName(Request.CurrentExecutionFilePath.ToString());}else{url=".."+"/"+"文文件所处文件名名"+"/"+System.IO.Path.GetFileName(Request.CurrentExecutionFilePath.ToString());url=url+"?"+Request.QueryString.ToString();}}
解决方案六:
语言切换用cookie保存比较好url还麻烦....
解决方案七:
我用cookie保存的,语言是在xml文件里的。效果如:http://oubk.com
解决方案八:
http://www.hydroponics.hk
解决方案九:
Session确实可以
解决方案十:
使用Application缓存所有的语言,在当前Session中添加一个到对应语言的引用,重新加载主框架就可以了

时间: 2024-10-31 03:12:55

多种语言切换的问题,高手进的相关文章

ios多种语言的本地化思路

  ios程序实现多种语言的本地化办法,最近要对一款游戏进行多语言本地化,在网上找了一些方案,加上自己的一点点想法整理出一套方案和大家分享! 多语言在应用程序中一般有两种做法: 一.程序中提供给用户自己选择的机会; 二.根据当前用户当前移动设备的语言自动将我们的app切换对应语言. 第一种做法比较简单完全靠自己的发挥了,这里主要讲第二种做法,主要分一下几点: 1.本地化应用程序名称 2.本地化字符串 3.本地化图片 4.本地化其他文件 1.本地化应用程序名称 (1)点击"new file&quo

Windows 8系统中的多种语言的搞定方法

您都可以使用Windows 8以多种语言进行阅读和输入.在某些国家或地区,您可以购买已经预安装多种语言的电脑.如果您所需的语言没有预安装,您可以手动进行添加. 完成之后,可以选择您的显示语言,然后在输入时在不同的语言之间进行切换. 操作方法如下: 1.打开"搜索"超级按钮,输入"语言",选择"设置",然后点击"添加语言". 2.浏览或使用搜索框查找要添加的语言,然后双击要添加的语言. 如果尚未安装某种语言,您将需要下载语言包,

轻松搞定Windows 8系统中的多种语言

无论你是精通多种语言,还是只需要完成外语作业,都可以使用Windows 8以多种语言进行阅读和输入.在某些国家或地区,你可以购买已经预安装多种语言的电脑.如果你所需的语言没有预安装,你可以手动进行添加. 完成之后,可以选择你的显示语言,然后在输入时在不同的语言之间进行切换. 操作方法如下: 1.打开"搜索"超级按钮,输入"语言",选择"设置",然后点击"添加语言". 2.浏览或使用搜索框查找要添加的语言,然后双击要添加的语言.

谷歌语音搜索新功能:同时识别多种语言

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 新浪科技讯 北京时间8月22日早间消息,谷歌周四对语音搜索应用进行了升级,升级后的应用可同时支持多种语言.这意味着,掌握多门语言的用户可以在搜索时方便地切换使用的语言,而不必调整应用设置. 新版谷歌语音搜索可以同时理解5种语言.不过,用户在使用应用前需要提前选择所使用的语言.而另一个限制在于,目前每个句子中只能使用一种语言.用户能否获得应用的

谷歌新版语音搜索支持多种语言,解决用户语言烦恼

北京时间8月22日消息,谷歌周四对语音搜索应用进行了升级,升级后的应用可同时支持多种语言.这意味着,掌握多门语言的用户可以在搜索时方便地切换使用的语言,而不必调整应用设置. 新版谷歌语音搜索可以同时理解5种语言.不过,用户在使用应用前需要提前选择所使用的语言.而另一个限制在于,目前每个句子中只能使用一种语言.用户能否获得应用的语音反馈将取决于所使用的语言.谷歌表示,未来还将继续加强对各种语言的支持. 谷歌近期正采取多方面措施,帮助用户更方便地使用其产品.本月早些时候,谷歌宣布已经使Gmail支持

我用帝国cms做的网站如何实现简体中文、繁体中文、英文之间的语言切换?

问题描述 我用帝国cms做的网站如何实现简体中文.繁体中文.英文之间的语言切换? 我用帝国cms做的网站如何实现简体中文.繁体中文.英文之间的语言切换?

平台-matlab高手进,不写代码,只说思路

问题描述 matlab高手进,不写代码,只说思路 各位大侠.求解答 题目如下:利用matlab的GUI功能制作pn结的仿真平台,在该平台中,能根据输入的异质结的不同参数,可以展示平衡异质结的能带图,并动态的展示异质结能带图的变化. 针对正偏的异质结,展现其发光特性及异质结其他可能的应用. 请问这个有办法实现吗?大体方案是什么?

Delphi中利用INI文件实现界面无闪烁多语言切换

越来越多的程序使用了多国语言切换,虽然DELPHI自带多语言包的添加和配置,但是那种方法在切换语言时界面会出现闪烁,而且实现起来很麻烦,这里我介绍给大家的是利用INI文件来读取界面的语种文字,用这种方法,不但简单易行,而且在切换的时候不会出现界面的闪烁. 我们从一个例子出发,看看怎么实现语言的切换.首先建立一个新工程.放置如下组件: MainMenu1: TMainMenu; File1: TMenuItem; Exit1: TMenuItem; Label1: TLabel; Button1:

如何开发一个多种语言版本的C#程序

程序 在C#中有多种使用资源文件的方法,能够很方便地开发全球通用的应用程序.本文通过一个简单的小例子,来讲解在C#中如何利用资源文件,快速开发一个多种语言版本的程序.本例中只有一个窗体,三个控件,能够根据用户的设置以中文或英文界面运行.开发环境是Windows 2000 Professional.Microsoft Visual Studio.NET 2002.具体开发步骤如下: 一.新建项目 启动Microsoft Visual Studio .NET,新建一个C#项目MyApp,本例工程存放