我正在尝试本地化我的aspx页面。我完成了使用.net f / w提供的L10n功能进行内容本地化,就像资源文件一样。但我发现很难在页面标题中设置本地数据。
大多数浏览器,包括IE和FF,都会在窗口标题上显示一些框内容(FF会在标签中显示正确的本地化文本,IE甚至不会这样做)。但它在safari(在Windows上)工作正常。
当我进行研究时,似乎这个问题仅针对某些语言退出。例如,Hindi version of BBC显示带有框的标题。但是Arabic version会在标题中显示本地化文字。
有人可以告诉我为什么会这样吗?我们如何解决这个问题?
注意:我的网站使用的是Asp.net 2.0 / IIS
答案 0 :(得分:5)
我怀疑这是一个字体问题。浏览器标题栏和其他窗口装饰通常由您的操作系统呈现,而不是由浏览器本身呈现,因此如果您将Windows配置为使用不支持印地语,阿拉伯语等所需的其他字符字形的字体,然后你会得到方框。在您的实际页面中,您可能正在使用包含对所有这些扩展字符的支持的字体,这就是为什么您只看到窗口标题上的问题。
Safari使用自己的渲染引擎来处理所有内容,包括窗口镶边,这就是为什么它看起来不像普通的Windows应用程序,以及为什么本地化的游戏正在运行。
您可能想尝试将Windows“Active Title Bar”字体(在“显示属性”,“外观”,“高级”下)更改为Arial,其中包含完整的Unicode字符集,并查看是否可以解决问题?
答案 1 :(得分:1)
对我来说,你链接到的BBC网站都会在窗口标题栏中找到正确的字符(在Windows上使用Firefox或IE)。
我怀疑你没有安装正确的字体,虽然我不确定你会错过什么字体导致这个问题,特别是如果Safari工作的话。
在任何情况下,我认为这是系统配置的问题,而不是您正在开发的网站。希望您的目标受众能够使用正确配置的系统来显示自己的语言。
答案 2 :(得分:0)
这是一个字体问题,而不是你可以在服务器端修复的东西。如果用于标题栏文本的字体缺少用于制表符的字体中的字形,则它将在选项卡中正确显示,但不会在标题栏中显示。这也可以解释为什么Safari可以工作 - 它使用自己的字体和字体渲染系统。
答案 3 :(得分:0)
问题与浏览器显示网页标题的位置和方式有关。
IE在标准窗口标题中显示页面标题。 IE不会自己绘图,而是将其留给操作系统。操作系统标题绘图代码使用标准字体,该字体取决于操作系统区域设置。您机器上的默认字体可能没有印地语的字符。盒子。
Firefox不会在标题中进行自定义绘图,因此它会显示相同的框。但是,FF使用其选择的字体绘制选项卡。
Safari会自动绘制所有内容,包括窗口标题,并使用自己选择的字体。
答案 4 :(得分:0)
我发现你的链接没有问题,FireFox 2和; 3,在Windows和Linux上。窗口标题和标题标题都有。