क्या नियंत्रक (बिना $translateProvider
) में वर्तमान उपयोग की भाषा प्राप्त करने का एक तरीका है ?
$translate
सेवा में कुछ भी नहीं मिला ।
जवाबों:
$translate.use()
एक गेट्टर और सेटर है।
डॉक्स के लिंक में पाया गया यह डेमो देखें:
$translate.use()
जाने का रास्ता है। इसके अलावा, जब एक अतुल्यकालिक लोडर निष्पादित किया जाता है, तो आप उपयोग करना चाहते हैं हो सकता है $translate.proposedLanguage()
कि कौन सी भाषा है कि वर्तमान में लोड लेकिन है भाषा कुंजी रिटर्न नहीं अभी तक लोड खत्म कर दिया।
$translate.use()
सेट नहीं किया गया था। $translate.proposedLanguage()
मुझे सही लैंग दिया।
$translate.proposedLanguage()
app.config में इसका उपयोग संभव है ? मेरे पास केवल $ TranslProvider है और मुझे इस फ़ंक्शन के परिणाम को कॉन्फ़िगर करने की आवश्यकता है, बाद में नियंत्रक में नहीं। क्या आपके पास कोई विचार है ? बहुत बहुत धन्यवाद
proposedLanguage()
जब कोणीय-अनुवाद-लोडर स्थैतिक-फ़ाइलों का उपयोग कर रहा देखा है कि $translate.proposedLanguage()
लौट आए undefined
जब डिफ़ॉल्ट भाषा का उपयोग करते समय $translate.use()
हमेशा प्रस्तावित भाषा लौट आए।
इसलिए मैंने इसका उपयोग करके इसे ठीक किया:
var currentLang = $translate.proposedLanguage() || $translate.use();
$translate
सेवा एक विधि कहा जाता है preferredLanguage()
कि वापसी आप क्या चाहते हैं। इस फ़ंक्शन की वापसी भाषा का स्ट्रिंग है, जैसे 'एन'।
यहाँ मैंने आपको एक उदाहरण लिखा है:
angular.module('traslateApp').controller('myController', ['$scope', '$translate', function($scope,$translate){
$scope.changeLanguage = function (langKey) {
$translate.use(langKey);
};
$scope.getCurrentLanguage = function () {
$translate.preferredLanguage();
};
}])
मुझे लगता है कि भाषा को निर्धारित करने का यह बेहतर तरीका है -
$window.navigator.language || $window.navigator.userLanguage
शायद संबंधित नहीं है, लेकिन उपयोगी हो सकता है। कोणीय 2 में + वर्तमान भाषा तक पहुंचने का तरीका है
...
import { TranslateService } from '@ngx-translate/core';
export class MyComponent implements OnInit {
constructor(private translate: TranslateService) {}
ngOnInit() {
translate.use('it');
const currentLang = this.translate.currentLang;
}
}
{ "LANG_CODE": "en" }
और जैसेtranslate
फ़िल्टर का उपयोग करें । हमेशा की तरह देखें, जैसे:<video controls poster="img/poster-{{ 'LANG_CODE' | translate }}.png"> […] </video>