【发布时间】:2014-11-25 15:44:18
【问题描述】:
我的浏览器设置为英语,但我希望我的应用程序尊重我在那里选择的任何语言设置,如果它们不同,则忽略浏览器设置。它大部分时间都有效,但我无法让它完全适用于 Angular UI Bootstrap 工具集中的 timepicker 指令。我的页面上有一个,声明如下:
<timepicker ng-model="myThing.date" /> <!-- yes, really like this. no other attrs -->
这样显示:
显然它选择了语言环境,因为它确实将“AM”翻译成“fm”(瑞典语中“förmiddag”的缩写,我目前在应用程序中选择的语言)。但是,在瑞典,我们不使用子午线时间格式——我想要一个 24 小时制的时钟。我可以通过在指令上设置show-meridian="false" 来获得它,但是当用户将语言设置为英语时,我将没有 AM/PM 时钟。
我已经加载了i18n/angular-locale_sv-se.js(在加载 Angular UI Bootstrap 库之前)并在我的 ng 应用程序配置中运行 $translateProvider.preferredLanguage('sv');,以在角度翻译中设置语言环境,但似乎都无法正常工作。
如何告诉时间选择器根据我选择的区域设置正确使用 AM/PM 或 24 小时制?
【问题讨论】:
-
我认为你能做到的唯一方法是拥有一个需要 AM/PM 的语言环境数组,并且如果当前语言环境在该数组中,则 show-meridian 为真。
-
@camden_kid: 唉...如果是这样的话,自然的后续问题当然是“是否有一个 timepicker 小部件可以本机处理这个问题”?
-
我还没有遇到过。谷歌搜索“使用 am pm 的国家”有一些有趣的信息,但令人叹息。
标签: angularjs twitter-bootstrap internationalization