【问题标题】:Image localization in asp.netasp.net 中的图像本地化
【发布时间】:2009-02-10 13:14:36
【问题描述】:

我有一个需要支持多种语言的网络应用程序。我们目前在网站上有很多带有文字的图片。我试图找到一种方法来以最少的麻烦本地化这些图像。到目前为止,我想出的是将子文件夹添加到与所需语言相关的当前 /Images 文件夹中。例如,/Images 包含默认图像集,/Images/es-MX 包含西班牙-墨西哥本地化图像。

到目前为止,我认为一切都很标准。现在我遇到的问题是,为了让这个新结构正常工作,我需要在所有 img 标签中添加以下内容:

<img ... src="/images/<%= GetGlobalResourceObject("MyResource","IMAGEPATH").ToString() %>image1.gif" ../>

或者在 asp:ImageButton 的情况下,我需要在代码隐藏中以编程方式设置它们的 ImageURL,并使用实用方法将 /Images/ 替换为 /Images/es-MX 或任何文化。

所有这些都给我留下了混乱的标记和大量的代码隐藏调用,只是为了更正图像路径。请问各位亲爱的读者,有没有更好的办法?

【问题讨论】:

  • 所需的语言来自哪里?它在服务器上可用吗?
  • 抱歉,我不确定您所说的所需语言是什么意思。它是一个 C# 应用程序,但我认为这个问题并不重要。
  • 这是您的术​​语'所需语言' :-) 我的意思是:服务器如何知道要服务的语言?它是否保存在客户端的cookie中?或者是保存在服务器上的会话中还是怎么做的?
  • 目前保存在 cookie 中。在 Global.asax 中,我在 App_BeginRequest 期间根据 cookie 值更改当前线程 ui 文化。

标签: asp.net localization internationalization markup


【解决方案1】:

这是一篇来自 MSDN 的关于 ASP.NET 全球化的好文章。它使用资源文件方法,所以我不确定这是否适合你,但这里是文章:

http://msdn.microsoft.com/en-us/magazine/cc163566.aspx

【讨论】:

  • 相信你也可以在资源文件中添加图片。
  • 是的,你绝对可以。我的意思是,由于他的所有图像当前都存储在磁盘上,因此可能很难将它们全部移动到资源文件中。
  • 感谢您的链接。我目前确实有资源文件,但即使我努力将图像的所有路径放入资源文件中,它仍然无法解决我在标记和代码隐藏方面遇到的问题。
猜你喜欢
  • 2010-09-24
  • 1970-01-01
  • 2019-01-28
  • 2012-01-25
  • 2020-12-20
  • 1970-01-01
  • 2012-12-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多