Javascript AngularJS+;i18n本地化从另一台服务器加载JSON

Javascript AngularJS+;i18n本地化从另一台服务器加载JSON,javascript,angularjs,json,internationalization,i18next,Javascript,Angularjs,Json,Internationalization,I18next,我们使用angular 1.2.16和i18next 0.2.6进行开发。在我们的应用程序中,当JSON来自同一服务器时,本地化工作正常 现在我们遇到了新的需求,即从另一个content server加载资源字符串,即JSON文件。假设从“”加载JSON I18下一次测试 angular.module('jm.i18next').config(函数($i18nextProvider){ "严格使用",; $i18nextProvider.options={ 液化天然气:“开发”, 乌塞库奇:错

我们使用angular 1.2.16和i18next 0.2.6进行开发。在我们的应用程序中,当JSON来自同一服务器时,本地化工作正常

现在我们遇到了新的需求,即从另一个content server加载资源字符串,即JSON文件。假设从“”加载JSON


I18下一次测试
angular.module('jm.i18next').config(函数($i18nextProvider){
"严格使用",;
$i18nextProvider.options={
液化天然气:“开发”,
乌塞库奇:错,
useLocalStorage:false,
回退:“开发人员”,
resGetPath:“../locales/_lng\u uu/_ns\u u.json”,
ns:{
名称空间:[“消息”,“选项”],
defaultNs:“消息”
}
};
});
angular.module('MyApp',['jm.i18next']).controller('MyProviderCtrl',function($rootScope,$scope,$i18next){
$rootScope.$on('i18nextLanguageChange',函数(){
$scope.hello=$i18next('messages:header.name');
});
});
{{你好}}
我试图将resGetPath:'../locales/\uuuu lng\uuuu/\uuu ns\uuuu.json'更改为resGetPath:'从服务器加载json文件,但它没有在UI上翻译文本


有关于如何翻译的建议吗?

看起来您使用的是旧版本的。所以我不确定是否已经允许从其他服务器(COR)加载


我建议升级到当前版本并在后端启用“跨域”访问:

我要说的是,在本地服务器上加载了文件,然后触发事件
i18nextLanguageChange
,而在另一台服务器上则相反。尝试收听
onload
()事件,然后手动触发
i18nextLanguageChange
事件?
<head>
    <meta charset="utf-8"/>
    <title>i18next test</title>
    <script src="i18next.js"></script>
    <script src="angularjs/1.2.16/angular.min.js"></script>
    <script src="ngI18next.js"></script>

    <script>

    angular.module('jm.i18next').config(function ($i18nextProvider) {

            'use strict';

            $i18nextProvider.options = {
                lng: 'dev',
                useCookie: false,
                useLocalStorage: false,
                fallbackLng: 'dev',
                resGetPath: '../locales/__lng__/__ns__.json',
                ns: {
                    namespaces: ['messages', 'options'],
                    defaultNs: 'messages'
                }
            };

    });
    angular.module('MyApp', ['jm.i18next']).controller('MyProviderCtrl', function ($rootScope, $scope, $i18next) {
        $rootScope.$on('i18nextLanguageChange', function () {
            $scope.hello = $i18next('messages:header.name');
        });
    });
    </script>
</head>
<body ng-app="MyApp">
    <div ng-controller="MyProviderCtrl">
        <div>{{hello}}</div>
        <div ng-i18next="options:moment-i18n"></div>
        <div ng-i18next="messages:header.name"></div>
        <div ng-i18next="header.name"></div>
    </div>
</body>