द्वारा लोड की गई सभी भाषाओं को कैसे सूचीबद्ध करें, मैं इसे angular-translate के दस्तावेज़ या एपीआई में नहीं ढूंढ सकता। मैं कोणीय अनुवाद द्वारा सभी लोड की गई भाषाओं को कैसे पुनर्प्राप्त कर सकता हूं?कोणीय-अनुवाद
मान लिया जाये कि मैं इस तरह एक LanguageCtrl है:
angular.module('myApp')
.controller('LanguageCtrl', ['$translate', '$scope',
function ($translate, $scope) {
$scope.switchLang = function (lang) {
$translate.use(lang);
};
$scope.currentLang = function() {
return $translate.use();
};
$scope.isCurrentLang = function (lang) {
return $translate.use() === lang;
};
$scope.languages = function(){
return $translate.IS_THERE_AN_API_FUNCTION_TO_GET_ALL_LANGUAGES();
}
}]);
और मैं इन भाषाओं लोड:
angular.module('myApp', ['pascalprecht.translate'])
.config(['$translateProvider', function ($translateProvider) {
$translateProvider.translations('de', de);
$translateProvider.translations('fr', fr);
$translateProvider.translations('en', en);
$translateProvider.preferredLanguage('en');
}]);
अब मैं सभी भाषाओं प्रदर्शित करना चाहते हैं:
<ul ng-controller="LanguageCtrl">
<li ng-repeat="lang in languages" ng-class="{active: isCurrentLang(lang)}">
<a href="" ng-click="switchLang(lang)">lang</a>
</li>
</ul>
मैं क्या उनके कोड में देख से तुम सिर्फ() 'किसी भी तर्क के बिना' $ translateProvider.transations कॉल कर सकते हैं और आप '$ translationTable' तुम्हें वापस लौटे मिल जाएगा। यदि यह काम करता है, तो मुझे बताएं और मैं इसे उत्तर दे सकता हूं – JoseM
धन्यवाद @ जोसेम! मैं कल यह कोशिश करूंगा। तो एक नियंत्रक में प्रदाता को इंजेक्शन देने से angularjs में कोई परेशानी नहीं होती है, है ना? मैं बस स्टार्टअप पर कॉन्फ़िगरेशन में उनका उपयोग करने के लिए प्रयोग किया जाता है। – fischermatte
मुझे लगता है कि आप अपने नियंत्रक में प्रदाता को इंजेक्ट करने में सक्षम नहीं हो सकते हैं। मैं उस पर कुछ त्वरित शोध करने की कोशिश कर रहा था लेकिन मुझे अभी तक कुछ भी निश्चित नहीं मिला है। – JoseM