2009-05-25 78 views
1

我正在尝试创建一个旨在被iPhone OS设备查看的网页。当用户访问iPhone OS设备时,是否有办法检索当前语言或某些特定于语言环境的数据?我想根据设备的本地或语言设置网页语言。那么,我怎样才能获得访问我的网页的iPhone OS设备的语言设置呢?如何获取访问网页的iPhone OS设备的语言设置?

回答

2

尝试使用浏览器向服务器发送的“Accept-Language”标头。它应该像“en-us”或“fr-fr”等,取决于设备的语言设置。

0

this email可以看出,iPhone确实发送了合理正确的Accept-Language

(然而,这真奇怪,我这只有fr-fr发送,这似乎更合理送fr-fr, en-us;q=0.9,他们可能会改变成在未来)

但你的更重要的信息是,你在你的情况下并不需要做任何复杂的事情。这被称为content negotiation,它是Apache和其他服务器的标准功能 - 它们会自动以语言用户返回页面,并且使用最少的配置。

您确实需要为不同的语言在不同的URI上创建不同的页面。如果你不知道,你打破了这样的想法:任何内容都有一个可以轻松传递给另一个人的URI,即使他/她的语言不同,第二个人也会看到完全相同的内容。

Apache如何做到这一点。您创建

example.fr.html 
example.en.html 
example.de.html 

(和编辑.htaccess文件)。然后/example以用户的语言返回页面,而/example.fr总是返回法语。作为额外的奖励,你不需要.html

相关问题