Angular-translate结合partial-loader只显示键,而不是实际翻译。我已经尝试了所有方法,但似乎找不到错误。没有任何错误被记录。
这是我的代码:
app.js
HomeCtrl.js
这是我的代码:
app.js
var app = angular.module('myapp', [
'ngRoute',
'appRoutes',
'pascalprecht.translate',
'angularTranslate',
'HomeCtrl'
]);
angular.module('angularTranslate', ['pascalprecht.translate'])
.config(function($translateProvider, $translatePartialLoaderProvider ) {
$translateProvider.useLoader('$translatePartialLoader', {
urlTemplate: '/languages/{lang}/{part}.json'
});
$translateProvider.preferredLanguage('nl');
});
从 /languages/{lang}/{part}.json 加载模板。HomeCtrl.js
angular.module('HomeCtrl', []).controller('HomeController',
function($scope, $translate, $translatePartialLoader) {
$translatePartialLoader.addPart('home');
$translate.refresh();
});
在Express中,我有这个路由来确保文件实际上被返回,而不是路由到Angular:
app.get('/languages/:lang/:part', function(req, res) {
res.sendFile(req.params.lang + '/' + req.params.part, { root: '././languages' });
});
home.json
{
"HOMETITLE" : "Geweldige Whatsapp gesprekken.",
}
home.html
{{ "HOMETITLE" || translate }}
最后,我按照以下顺序在index.html中链接了所有内容:
<script src="../libs/angular/angular.js"></script>
<script src="../libs/angular-route/angular-route.js"></script>
<script src="../libs/angular-resource/angular-resource.js"></script>
<script src="../libs/angular-translate/angular-translate.js"></script>
<script src="../libs/angular-translate-loader-partial/angular-translate-loader-partial.js"></script>
<script src="../js/controllers/HomeCtrl.js"></script>
<script src="../js/appRoutes.js"></script>
<script src="../js/index.js"></script>
所以,重新阐述我的问题:只显示了HOMETITLE而没有正确的翻译。非常感谢任何帮助!