]> git.proxmox.com Git - proxmox-widget-toolkit.git/commitdiff
LanguageSelector.js - add language selector
authorDietmar Maurer <dietmar@proxmox.com>
Wed, 4 Oct 2017 08:50:59 +0000 (10:50 +0200)
committerDietmar Maurer <dietmar@proxmox.com>
Wed, 4 Oct 2017 09:16:22 +0000 (11:16 +0200)
Makefile
Utils.js
form/LanguageSelector.js [new file with mode: 0644]

index eae57cbb5648acc203e6fbc9e63d527182dbe288..5ab68174ee4bc866a14a9d956d01863ca3dcff45 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -27,6 +27,7 @@ JSSRC=                                        \
        form/DateTimeField.js           \
        form/Checkbox.js                \
        form/KVComboBox.js              \
+       form/LanguageSelector.js        \
        form/ComboGrid.js               \
        form/RRDTypeSelector.js         \
        button/Button.js                \
index 97b6c751178e8a7edb0e0add41f7eae24eda3d35..e0c26d73304b4e30f9cee505ffa9e807070d3d56 100644 (file)
--- a/Utils.js
+++ b/Utils.js
@@ -60,6 +60,34 @@ Ext.define('Proxmox.Utils', { utilities: {
     stateText: gettext('State'),
     groupText: gettext('Group'),
 
+    language_map: {
+       en: 'English',
+       fr: 'French',
+       de: 'German',
+       it: 'Italian',
+       es: 'Spanish'
+    },
+
+    render_language: function (value) {
+       if (!value) {
+           return Proxmox.Utils.defaultText + ' (English)';
+       }
+       var text = Proxmox.Utils.language_map[value];
+       if (text) {
+           return text + ' (' + value + ')';
+       }
+       return value;
+    },
+
+    language_array: function() {
+       var data = [['__default__', Proxmox.Utils.render_language('')]];
+       Ext.Object.each(Proxmox.Utils.language_map, function(key, value) {
+           data.push([key, Proxmox.Utils.render_language(value)]);
+       });
+
+       return data;
+    },
+
     getNoSubKeyHtml: function(url) {
        // url http://www.proxmox.com/products/proxmox-ve/subscription-service-plans
        return Ext.String.format('You do not have a valid subscription for this server. Please visit <a target="_blank" href="{0}">www.proxmox.com</a> to get a list of available options.', url || 'http://www.proxmox.com');
diff --git a/form/LanguageSelector.js b/form/LanguageSelector.js
new file mode 100644 (file)
index 0000000..4444c12
--- /dev/null
@@ -0,0 +1,6 @@
+Ext.define('Proxmox.form.LanguageSelector', {
+    extend: 'Proxmox.form.KVComboBox',
+    xtype: 'proxmoxLanguageSelector',
+
+    comboItems: Proxmox.Utils.language_array()
+});