关于网站 全球化 实现多语言的问题

zpcoder 2008-07-15 02:01:57
请教个位一个问题,我用.net中的全球化/本地化。做了一个多语言网站?

现在是以 ?currentculture=en-us 来确定当前的语言。

我知道不可能在每一个页都来这个参数。请问大伙都是如何处理的?
以及如果在当前页面得到当前使用语言的ID?
cn-zh 1
en-us 2
cht 3

我的 BasePage 如下

protected override void InitializeCulture()
{
String s = Request.QueryString["currentculture"];
if (!String.IsNullOrEmpty(s))
{
//UICulture - 决定了采用哪一种本地化资源,也就是使用哪种语言
//Culture - 决定各种数据类型是如何组织,如数字与日期
Thread.CurrentThread.CurrentUICulture = new CultureInfo(s);
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(s);
}
}
...全文
271 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
wmxj2008 2008-08-26
  • 打赏
  • 举报
回复
帮顶了
IAMBEN 2008-07-18
  • 打赏
  • 举报
回复
看看 www.hydroponics.hk

实现五种语言,还可以随时增加语种
nopole 2008-07-16
  • 打赏
  • 举报
回复
可以写在基类里面,然后通过调用基类的方法得到当前语言版本

或者写配置文件
mywisest 2008-07-16
  • 打赏
  • 举报
回复
需要显示文本信息的地方,全部用GetString代替,如:
this.toolStrip1.Text = GetString("toolStrip1");
dengchenlu 2008-07-16
  • 打赏
  • 举报
回复
JAVA是有国际化语言包
.net还没用过
zld_baggio 2008-07-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 cai3725 的回复:]
额。未知。UP
学习
[/Quote]
ghui 2008-07-15
  • 打赏
  • 举报
回复
看看 www.GoodPointe.com 网站。初始化语言会根据你浏览器里面的语言环境自动选择相符的。
ghui 2008-07-15
  • 打赏
  • 举报
回复
每一个页面都会传回客户端浏览器的语言环境
(看 IE 的 Internet 选项=>语言)

// System.Web.UI.Page page
if( page == null || page.Request.UserLanguages == null || page.Request.UserLanguages.Length == 0 )
{
//如果没有语言环境,则可以默认使用服务器的语言环境作为初始化语言环境
m_CultureInfo = System.Threading.Thread.CurrentThread.CurrentUICulture;
}
else
{
m_CultureInfo = new CultureInfo(page.Request.UserLanguages[0]);
}
mywisest 2008-07-15
  • 打赏
  • 举报
回复
把CurrentCulture放在GloalVariables中,然后显示文本的地方均调用以下函数:
public static String GetString(string ResourceID)
{
if (String.IsNullOrEmpty(ResourceID))
return "";

if (object.ReferenceEquals(rm, null))
{
rm = new System.Resources.ResourceManager("HanYi.Components.ResourceManager.Strings", typeof(Strings).Assembly );
}
string str = rm.GetString(ResourceID, GlobalVariables.CurrentCulture);
if (String.IsNullOrEmpty(str))
str = String.Empty;
return str.Replace("\\r", "\r").Replace("\\n", "\n");
}
shoushii 2008-07-15
  • 打赏
  • 举报
回复

这个参数设置可以存储在数据库中,当页面初始化的时候,从数据库读取语言设置,Session维护状态,然后做处理。
kbryant 2008-07-15
  • 打赏
  • 举报
回复
学习
正宗熊猫哥 2008-07-15
  • 打赏
  • 举报
回复
额。未知。UP
学习

62,168

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧