进入源码的简短视图并没有提供简单的方法。我解决它使用自己的供应商终于缓存从$ translateProvider.translations参考:
app.provider('translationHelper', function() {
this.translations = {};
this.$get = function() {
return {
translations: this.translations
}
};
});
在你的应用程序做
app.config([
'$translateProvider',
'translationHelperProvider',
function (
$translateProvider,
translationHelperProvider
) {
translationHelperProvider.translations = $translateProvider.translations();
}]);
并在以后使用它像
app.component('myComponent', {
templateUrl: 'views/components/myComponent.html',
controller: [
'translationHelper',
function (
translationHelper
) {
// query translation
var translation = translationHelper.translations['de']["Your.Key.Here"];
// modify translation
translationHelper.translations['de']["Your.Key.Here"] = 'A new value';
}]
});
另外,您可以修改角度翻译源,并通过$ get方法使提供者可以访问“翻译”。
在配置中你做了 translationHelperProvider.translations = $ translateProvider.translations(); 它通过延迟加载更新转换时是否更新我们的translationHelper.translations? –