【发布时间】:2018-05-15 18:15:01
【问题描述】:
我是 Angular 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?
提前致谢。
【问题讨论】:
-
为什么不给
app.config( yourNewTranslateProviderConfig)打电话呢? -
感谢您的回复。抱歉,我没明白“yourNewTranslateProviderConfig”是什么意思?
-
您的意思是从 API 获取提供的语言吗? $translateProvider.preferredLanguage('en_US');
-
或者你想从api获取翻译数组?
-
我想从 api 获取翻译数组。
标签: angularjs angular-services angular-translate angular-transitions