我正在开发一个理论上应该以所有语言提供的网站。界面和内容非常简单,所以这不是问题。问题是国际化界面通常用于向用户提示多语言的可用性吗?
显而易见的是下拉列表。如何优雅地完成这个任何其他好的例子?
作为一个附带问题:是否有任何书籍或材料专门用于i18n和本地化的主题,最好是PHP,但有关该主题的任何好资源都可以提供帮助。
答案 0 :(得分:3)
我发现一个简单的下拉列表包含两个字符的ISO-639代码和该语言中的语言名称(即FrançaisforFrench),效果很好。您可以尝试使用建议的language icon来帮助标记菜单,但这似乎没有太大的牵引力。如果您将语言选择器放在右上角,那么人们可能会看到它。
您可以尝试使用JavaScript中的Accept-Language HTTP标头或navigator.language
和navigator.userLanguage
属性来选择初始语言。
请勿使用旗帜图标。巴西人说葡萄牙语,但可能不知道葡萄牙的旗帜是什么,瑞士有三种官方语言,魁北克加拿大人讲法语,美国人不想点击英国国旗选择英语等。
如果您要面对任何L10N或I18N问题,请确保从一开始就使用UTF-8从前到后和侧面;实际上,即使您不希望本地化您的应用程序,也可以在任何地方使用UTF-8。
答案 1 :(得分:2)
如果您使用内容分发网络(如Akamai),他们可以比您能够更好地告知用户的位置,并且您可以将网站默认为该区域设置。这将使你有机会达到正确的语言。这是一种艺术形式,并以您的目标受众为基础。
像索尼或微软这样的地方有一个目标受众,并且可以相当肯定从某个特定国家访问的人通过支持文档(或本地化搜索)找到该URL,因此没有那么多强调允许用户改变他们的选择。
另一方面,UPS在全球范围内运送,运送到一个国家意味着业务将更加细致,沟通语言基于运送人和接收包裹的人。良好的平衡是一个全球社交网站,如Netlog(http://www.netlog.com),他们使用智能过滤用户位置和简单的方式(通过底部的超链接)的组合。
就书籍而言,从A Practical Guide to Localization开始,它将教你基础知识。我的技能组合并没有深入PHP,所以我甚至都不会尝试回答那个部分。
快乐编码
答案 2 :(得分:0)
建议:
答案 3 :(得分:0)
我曾经读过,提供多种语言与国际化不同。 关键的区别在于,在第一个“只是”将相同的内容翻译成不同的语言,在前者中,您提供特定于区域的不同内容(通常翻译为区域主要语言)
仅此一项就可以为您提供一组不同的界面。由于“mu太短”的原因,标准标志解决方案在任何一种情况下都会变得烦人。
如果自动本地化失败,有时会提供世界地图作为纠正到正确位置的选项。大多数服务都采用标准下拉列表。