我已经使用bower install angular-i18n下载了angular I18n代码库,它会将其放入我的bower_compontents中,并使用angular-i18n : 1.5.3更新bower.json文件,这是预期的行为。
我想包含一个特定的区域设置(例如de-de.js),以便每次我运行grunt serve时,它都会与其他的angular脚本一起包含在一起,而这目前还没有发生。有什么想法可以实现这一点吗?
谢谢。
发布于 2016-06-24 21:20:52
在我的示例中,我使用文件angular-locale_es.js的原始版本的链接在我的bower文件中添加了所需的特定版本。bower.json
"dependencies": {
"angular": "^1.5.0",
"angular-mocks": "^1.5.0",
...
"angular-locale_es": "https://raw.githubusercontent.com/angular/bower-angular-i18n/master/angular-locale_es.js",
...
}发布于 2017-06-14 21:50:16
在bower.json中,您可以添加覆盖部分并指定要包含的i18n脚本。
{
"name": "your application",
"version": "1.1.2",
"dependencies": {
"angular": "#1.5.7",
"angular-i18n": "#1.5.7",
"moment": "#2.13.0",
},
"overrides": {
"angular-i18n":{
"main":[
"angular-locale_de-ch.js"
]
},
"moment": {
"main": [
"moment.js",
"locale/de.js"
]
},
}
}
发布于 2016-06-22 16:40:28
因此,为了回答我自己的问题,如果您只需要其中一种语言环境,您可以将de-de.js语言环境的内容复制并替换到主angular-i18n文件中,这样做没有任何麻烦,也不需要复杂的方法。
但是,如果您有多个语言环境并希望根据某个条件进行决策,则可以使用此库设置缺省语言环境
https://github.com/lgalfaso/angular-dynamic-locale/
之后,您所要做的就是为您的语言环境文件添加一个基本位置(例如,我使用的是CDN ):tmhDynamicLocaleProvider.localeLocationPattern('https://cdnjs.cloudflare.com/ajax/libs/angular-i18n/1.5.5/angular-locale_{{locale}}.js');
检查您的条件并将区域设置作为$translate.use('de');传递
希望这能有所帮助!
https://stackoverflow.com/questions/36398134
复制相似问题