使用Cordova检测Windows 10桌面上的语言更改的事件

时间:2018-10-30 04:44:17

标签: windows cordova globalization

我正在使用cordova-globalization-plugin确定设备上设置的默认语言。

我已经创建了一个基于Windows 10 Cordova的项目。

现在,我需要获得一个事件,在该事件中可以触发我的语言更改逻辑。

在Windows 10桌面上,用户通常可以转到“设置”->“区域和语言”并更改默认语言。

我希望当用户更改语言并单击Apply时,我希望我的应用程序获取该系统事件并执行一些逻辑。

这可能实现吗?有什么想法吗?

这是我当前的代码

index.js

var app = {
// Application Constructor
initialize: function() {
    document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);
},

// deviceready Event Handler
//
// Bind any cordova events here. Common events are:
// 'pause', 'resume', etc.
onDeviceReady: function() {
    this.receivedEvent('deviceready');
},

// Update DOM on a Received Event
receivedEvent: function(id) {
    var parentElement = document.getElementById(id);
    var listeningElement = parentElement.querySelector('.listening');
    var receivedElement = parentElement.querySelector('.received');

    listeningElement.setAttribute('style', 'display:none;');
    receivedElement.setAttribute('style', 'display:block;');

    console.log('Received Event: ' + id);

    navigator.globalization.getPreferredLanguage(
        function (language) { console.log('language: ' + language.value + '\n'); },
        function () { console.log('Error getting language\n'); }
     );
    }
 };
 app.initialize();

0 个答案:

没有答案