我是角度 js 的新手。对于语言翻译,我在工作中使用 angular-translate 服务。我正在通过 API 调用响应获取我需要在 $translateProvider 中分配的全部翻译。我知道我可以将翻译分配给 $translateprovider ($translateprovider.translations ('en',translations) 仅来自配置模块,但我认为来自配置模块的 API 调用不是一个好习惯。
下面给出的是我的配置模块。
.config(['$translateProvider', function($translateProvider) {
//fetching session key
var response;
jQuery.ajax({
type: "GET",
url: 'https://abcdefg/session?appKey=123456',
async: false,
success: function(data) {
response = data;
getMetaData(response.sessionKey);
}
});
////fetching data.
function getMetaData(sessionKey) {
jQuery.ajax({
type: "GET",
url: 'https://abcdefg/metadata?sessionKey=' + sessionKey +
'&gid=1.2.3.4',
async: false,
success: function(data) {
dataSet = data; //save response in rootscope variable
}
});
}
$translateProvider.translations('en_US', JSON.parse(dataSet.en_us));
$translateProvider.translations('es_ES', JSON.parse(dataSet.es_es));
$translateProvider.preferredLanguage('en_US');
}
如何解决?如何从配置模块外部将翻译分配给 $translateProvider?
提前致谢。