Событие для обнаружения изменения языка на рабочем столе Windows 10 с помощью Cordova - PullRequest
0 голосов
/ 30 октября 2018

Я использую плагин cordova-globalization-plugin для определения языка по умолчанию, установленного на устройстве.

Я создал проект для Windows 10 на базе Cordova.

Теперь мне нужно получить событие, при котором я могу активировать логику смены языка.

В рабочих столах Windows 10 пользователи обычно могут перейти в «Настройки» -> «Регион и язык» и изменить язык по умолчанию.

Я хочу, чтобы, когда пользователь изменял язык и нажимал на кнопку применить, я хотел, чтобы мое приложение получало это системное событие и выполняло некоторую логику.

это возможно реализовать? Есть идеи?

Вот мой текущий код

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();
...