是否可以在运行时动态切换AngularJS的国际化语言?

时间:2014-03-13 11:35:19

标签: angularjs internationalization

是否可以在i18n/angular-locale_en-us.jsi18n/angular-locale_de-de.js之间切换,例如,在运行时,并立即更新所有日期,货币和数字过滤器? (当然意味着在加载新的语言环境文件之后)。

谢谢。

2 个答案:

答案 0 :(得分:5)

我设法使用此模块执行此操作:https://github.com/lgalfaso/angular-dynamic-locale

完美无缺!

答案 1 :(得分:1)

它是,它不是。如果您坚持使用内置的i18n解决方案(说实话有些不妥),就无法切换区域设置。您可以动态加载所需的脚本,但是一旦Angular解析了所有绑定,它就已经太晚了(它不会使用新加载的语言环境脚本)。

要解决此问题,您可能需要创建自己的过滤器并使用GlobalizeiLib之类的格式进行格式化。