我使用i18next和插件https://github.com/i18next/ng-i18next。使用角度指令,它应该显示" test"和"这是一个测试"在页面上。但它显示了" home.title"和" home.content"。检查控制台,正确加载json文件,如果我使用javascript DOM,则可以显示正确的内容。
我的json文件:
{
"home":{
"title": "test",
"content": "this is a test"
}
}
HTML:
<div ng-app="myApp" ng-controller="myCtrl" class="home">
<h1 ng-i18next="home.title"></h1>
<p ng-i18next="home.content"></p>
</div>
脚本:
angular.module('jm.i18next')
.config(['$i18nextProvider',function($i18nextProvider){
window.i18next.use(window.i18nextXHRBackend);
$i18nextProvider.options = {
debug: true,
lng: 'en',
fallbackLng: 'en',
backend: {
loadPath: '/locales/{{lng}}/{{ns}}.json'
}
};
}]);
angular.module('myApp', ['jm.i18next']).controller('myCtrl',['$scope', '$i18next',function($scope, $i18next){
}])
以下是来自控制台的信息,我不知道最后一个错误是什么:
答案 0 :(得分:3)
只需仔细检查并看起来 vendor> framework> Foundation> Auth> AuthenticatesAndRegistersUsers
模块已升级到较新版本,因此有以下选项:
i18next
应该用{
compatibilityAPI: 'v1',
compatibilityJSON: 'v1',
// ...old options from v1
}
来设置i18next
插件。
PS:作为建议,我建议您使用angular-translate插件而非此插件,但这完全取决于您。