Angular -транслят в сочетании с частичным загрузчиком показывает только ключ, а не фактический перевод. Я пробовал все, но не мог найти ошибку. Ошибки не регистрируются.
Это мой код:
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. Любая помощь очень ценится!