什么是适合展示多种语言的好界面?

3
我正在开发一个理论上可以提供所有语言支持的网站。由于界面和内容非常简单,所以这不是问题。问题在于国际化接口通常用于提示用户多种语言的可用性,有哪些接口可以优雅地解决这个问题?
显而易见的方法是下拉列表。还有其他好的例子吗?
另外一个问题是:是否有专门讲解i18n和本地化的书籍或资料,最好是针对PHP的,但任何关于此主题的好资源都可以帮助。
4个回答

3
我发现一个简单的下拉列表,其中包含两个字符的ISO-639代码和语言名称(即Français表示法语),已经足够好用了。您可以尝试使用建议的语言图标来帮助标记菜单,但似乎并没有得到很多关注。如果将语言选择器放在右上角,则人们可能会看到它。
您可以尝试使用HTTP头中的Accept-Language或JavaScript中的navigator.language和navigator.userLanguage属性来选择初始语言。
不要使用国旗图标。巴西人说葡萄牙语,但可能不知道葡萄牙的国旗是什么,瑞士有三种官方语言,加拿大魁北克省的人说法语,美国人不想点击英国国旗选择英语等等。
如果您将面临任何L10N或I18N问题,请确保从一开始就使用UTF-8。实际上,即使您不打算本地化应用程序,也应该在所有地方使用UTF-8。

2
UPS.com不错。如果您使用内容交付网络(如Akamai),它们能够比您更好地识别用户的位置,并且您可以将网站默认为该语言环境。这将使您有很大机会命中正确的语言。这是一种艺术形式,取决于您的目标受众。
像索尼或微软这样的公司有一个明确的目标受众,可以相当确定从特定国家访问该URL的人是通过支持文档(或本地化搜索)找到的,因此没有那么强调允许用户更改选择。
另一方面,UPS在全球范围内提供运输服务,向某个国家运送货物意味着业务将更加细致,通信语言基于发货人和收件人的语言。
一个很好的平衡是全球社交网络网站,如Netlog(http://www.netlog.com),他们结合了智能过滤用户位置和通过底部超链接轻松更改语言的方式。
关于书籍,可以从《本地化实践指南》开始学习基础知识。我的技能不包括深入的PHP知识,所以我不会试着回答那部分问题。
祝编码愉快。

0

建议:

  • 链接的国旗图标
  • 下拉列表(选择后更新)

自动下拉列表的缺点是对于禁用JavaScript的人来说效果不佳。因此,应该始终添加一个按钮,以便让没有激活JS的人提交表单。 - Czechnology
Argl!与仍使用IE6的公司打交道已经很痛苦了。我们真的需要关心那些不能使用JavaScript的人吗?还有多少这样的人存在? - Serge Wautier
@Serge - appTranslator,如果您可以在没有JS的情况下继续使用人员,为什么不这样做呢?良好的实践是,如果启用了JavaScript,则隐藏不需要的按钮。例如,我们可以向body标记添加类“js-disabled”,然后通过JavaScript将其更改为“js-enabled”。然后只需使用css选择器:.js-enabled#language-submit-button {display:none;} - maectpo

0

我曾经读过一篇文章,提供多种语言并不等同于国际化。关键的区别在于,在前者中,您只是将相同的内容翻译成不同的语言,而在后者中,您会提供特定于某个地区的不同内容(通常翻译成该地区的主要语言)。

这本身就应该给您提供一个不同的界面设置。标准的旗帜解决方案可能会因为“mu is too short”所述的原因而变得令人恼火。

有时,世界地图被提供作为选项,以便在自动本地化失败时进行正确位置的更正。大多数服务都采用标准下拉菜单。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接