2012-07-03 24 views
2

语言检测does not seem to be easy on Android。我还没有亲自测试过它,但显然,“navigator.language”总是返回“en”。 iOS和Android都可以返回当前的设备语言。有没有Forge方法为我们做native/js桥梁?如何使用Forge检测用户语言?

+0

这将是一个很好的补充trigger.io伪造工具集有本地化内置任何*认真*应该应该本地化。我们不都住在山谷中:-)(不幸的是) – Pandaiolo

回答

1

这里是我用来实现这一代码。

if (navigator && navigator.userAgent && (lang = navigator.userAgent.match(/android.*\W(\w\w)-(\w\w)\W/i))) { 
    lang = lang[1]; 
} 

if (!lang && navigator) { 
    if (navigator.language) { 
     lang = navigator.language; 
    } else if (navigator.browserLanguage) { 
     lang = navigator.browserLanguage; 
    } else if (navigator.systemLanguage) { 
     lang = navigator.systemLanguage; 
    } else if (navigator.userLanguage) { 
     lang = navigator.userLanguage; 
    } 
    lang = lang.substr(0, 2); 
} 
0

目前没有Forge API来检测语言。

这是可能的解决你所指出的,虽然使用navigate.userAgent问题:看到这个问题:

Get the language of user in android

+0

你打算做些什么来尽快简化它吗?只是想知道我是否需要开发一些坚实的东西。我更喜欢在这一点上信任Forge,特别是因为我不知道Windows手机在这一点上的表现如何。 –

+0

它目前不在我们的短期路线图中,但我们将在下周四分类我们的积压。当我们可以在时间尺度上更清晰的时候,我们会在这个线索上报告 –

+0

@AmirNathoo,有什么消息吗? – alexdown