進入源碼的簡短視圖並沒有提供簡單的方法。我解決它使用自己的供應商終於緩存從$ 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? –