多语言网站的问题,类库中如何使用App_GlobalResources?

chendaiyin 2009-11-26 08:19:46
网站的逻辑有很大一部分是写在另一个类库中的,网站通过引用DLL来使用,网站项目本身的代码可以使用Resources.lang.xxx 来自动切换显示的语言,但是类库项目中也有一部份文字,这部分要如何才能使用资源文件呢,如何跟网站文件一起切换使用的语言呢?
...全文
565 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
永不上当 2010-05-04
  • 打赏
  • 举报
回复
...
ciznx 2010-05-04
  • 打赏
  • 举报
回复
在后台,可以用 Resources 命名空间中的类来引用。

网站生成后,系统将会把资源文件编译为程序集 (assembly) 并作为元数据引用,并具有根命名空间:Resources;
系统将为我们的资源文件创建类,假如你的各语言的资源的名称均有一个统一的名字:MyResources。这样的话,你的简体中文版本会这样写:MyResource.zh-cn.resx 美国英文版本会这样写:MyResources.en-us.resx 依此类推。

这样的话,系统为我们生成的类的名字就是 MyResources

在编译后,在后台代码(CodeBehind)中,我们可以使用 Resources 命名空间引用我们的资源文件。
例如,如果你有一个名称为 Update_Profile 的资源名,则可以直接使用 Resource.MyResources.Update_Profile 引用该资源的值。

参考我的这篇文章
http://ciznx.com/post/aspnet-e8b584e6ba90e79a84e88eb7e58f96.aspx
sunnj87 2010-05-04
  • 打赏
  • 举报
回复
我也在搞,找了很多方法,不过是dll里面的好像就很难弄了
resx是根据键值对去取的。
chendaiyin 2010-02-08
  • 打赏
  • 举报
回复
贴子发了这么久了,还没有人知道吗?
chendaiyin 2009-11-26
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wuyq11 的回复:]
语言看客户端操作系统的语言
先写资源文件,放在App_GlobalResources文件下面。
<asp:Label ID="Label10" runat="server" Text=" <%$ Resources:lang,aboutus%>"> </asp:Label>
进行绑定,在Global.asax文件里写入cookieC# code    void Application_BeginRequest(object sender, EventArgs e)
    {
        try
        {
            if (Request.Cookies["lang"] != null)
            {
                System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture(Request.Cookies["lang"].Value.ToString());
                System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(Request.Cookies["lang"].Value.ToString());
            }
        }
        catch (Exception)
        { }
    }
http://topic.csdn.net/u/20090901/09/6760d14c-a1ac-4229-b7c9-51a0d0bccce3.html?29244
[/Quote]

钻石大哥,请看清题,不是问如何使用资源文件做多语言网站,在“网站”类型的项目下,这个很容易,问题是,我这个“网站”项目的逻辑有一部分是写在另一个“类库”项目中的,是引用到“网站”项目下的,在这个“类库”项目中如何使用资源文件让“类库”项目也能使用资源文件做语言切换?
gongsun 2009-11-26
  • 打赏
  • 举报
回复
...
wuyq11 2009-11-26
  • 打赏
  • 举报
回复
语言看客户端操作系统的语言
先写资源文件,放在App_GlobalResources文件下面。
<asp:Label ID="Label10" runat="server" Text="<%$ Resources:lang,aboutus%>"></asp:Label>
进行绑定,在Global.asax文件里写入cookieC# code void Application_BeginRequest(object sender, EventArgs e)
{
try
{
if (Request.Cookies["lang"] != null)
{
System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture(Request.Cookies["lang"].Value.ToString());
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(Request.Cookies["lang"].Value.ToString());
}
}
catch (Exception)
{ }
}
http://topic.csdn.net/u/20090901/09/6760d14c-a1ac-4229-b7c9-51a0d0bccce3.html?29244

62,046

社区成员

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

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

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

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