我想使用angular进行翻译,我遵循了本教程: http://www.ng-newsletter.com/posts/angular-translate.html
我加载了这两个文件:
<script src="js/angular/angular-translate.min.js"></script>
<script src="js/angular/angular-translate-loader-static-files.min.js"></script>
HTML
{{ 'SORTBY' | translate }}
当我这样做时,翻译工作:
$translateProvider.translations('en', {
SORTBY: 'sort by'
})
.translations('fr', {
SORTBY: 'trier par'
});
现在我想这样做:
$translateProvider.useStaticFilesLoader({
prefix: '/languages/',
suffix: '.json'
});
我很好地加载文件,因为我的控制台网络向我展示了正确内容的GET成功:
en.json
SORTBY: "Sort by"
fr.json
SORTBY: "Trier par"
它显示:
SORTBY
你有什么想法吗?
答案 0 :(得分:2)
这个问题完全是因为Jsons的写作。 这个语法解决了我的问题:
{
"SORTBY": "Sort by"
}
答案 1 :(得分:-1)
prefix属性是文件的前缀,而不是位置,因此它正在查找名为languages /&#39; someValue&#39; .json的文件。这在我以前的项目中有效,因此您可以尝试将文件重命名为locale-en.json和locale-fr.json。
$translateProvider.useStaticFilesLoader({
prefix: 'locale-',
suffix: '.json'
});
答案 2 :(得分:-1)
在几分钟之前我遇到了类似的问题,问题是在JSON文件中使用'
而不是"
:
BAD
{
'SORTBY': 'Sort by'
}
GOOD
{
"SORTBY": "Sort by"
}
它已经解决了我的问题,也许可以帮助某人。