क्या नियंत्रक (बिना $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>