From 7af7ecd82add8e4aaa12c06e9bd64e766317b7d0 Mon Sep 17 00:00:00 2001 From: Calum Lind Date: Thu, 20 Aug 2015 19:11:46 +0100 Subject: [PATCH] [#2008] [WebUI] Fix translation marked text * Remove labelSeparator and manually add ':' so text matches gtk translations. * Use consistent quotes around strings. This can affect gettext script picking up marked strings. * Added the equivalent deffered translation as gtkui for Filters and Progressbar --- .../web/js/deluge-all/AddConnectionWindow.js | 22 ++++---- .../ui/web/js/deluge-all/AddTrackerWindow.js | 13 ++--- deluge/ui/web/js/deluge-all/Client.js | 2 +- .../ui/web/js/deluge-all/EditTrackerWindow.js | 21 ++++---- deluge/ui/web/js/deluge-all/FilterPanel.js | 30 +++++++---- deluge/ui/web/js/deluge-all/LoginWindow.js | 3 +- deluge/ui/web/js/deluge-all/Plugin.js | 14 ++--- deluge/ui/web/js/deluge-all/RemoveWindow.js | 2 +- deluge/ui/web/js/deluge-all/Sidebar.js | 2 +- deluge/ui/web/js/deluge-all/Statusbar.js | 2 +- deluge/ui/web/js/deluge-all/TorrentGrid.js | 4 +- deluge/ui/web/js/deluge-all/UI.js | 28 +++++++++- .../web/js/deluge-all/details/DetailsTab.js | 19 +++---- .../web/js/deluge-all/details/OptionsTab.js | 12 ++--- .../ui/web/js/deluge-all/details/PeersTab.js | 4 +- .../deluge-all/preferences/BandwidthPage.js | 38 +++++++++----- .../js/deluge-all/preferences/CachePage.js | 12 +++-- .../js/deluge-all/preferences/DaemonPage.js | 13 ++--- .../deluge-all/preferences/DownloadsPage.js | 9 ++-- .../deluge-all/preferences/InterfacePage.js | 51 +++++++++++-------- .../js/deluge-all/preferences/NetworkPage.js | 8 +-- .../js/deluge-all/preferences/OtherPage.js | 3 +- .../js/deluge-all/preferences/PluginsPage.js | 10 ++-- .../deluge-all/preferences/ProxyI2PField.js | 6 ++- .../js/deluge-all/preferences/QueuePage.js | 42 ++++++++------- 25 files changed, 222 insertions(+), 148 deletions(-) diff --git a/deluge/ui/web/js/deluge-all/AddConnectionWindow.js b/deluge/ui/web/js/deluge-all/AddConnectionWindow.js index 67e15b6d5..2df122b34 100644 --- a/deluge/ui/web/js/deluge-all/AddConnectionWindow.js +++ b/deluge/ui/web/js/deluge-all/AddConnectionWindow.js @@ -1,6 +1,6 @@ /*! * Deluge.AddConnectionWindow.js - * + * * Copyright (c) Damien Churchill 2009-2010 * * This program is free software; you can redistribute it and/or modify @@ -51,25 +51,27 @@ Deluge.AddConnectionWindow = Ext.extend(Ext.Window, { Deluge.AddConnectionWindow.superclass.initComponent.call(this); this.addEvents('hostadded'); - + this.addButton(_('Close'), this.hide, this); this.addButton(_('Add'), this.onAddClick, this); - + this.on('hide', this.onHide, this); - + this.form = this.add({ xtype: 'form', defaultType: 'textfield', baseCls: 'x-plain', labelWidth: 60, items: [{ - fieldLabel: _('Host'), + fieldLabel: _('Host:'), + labelSeparator : '', name: 'host', anchor: '75%', value: '' }, { xtype: 'spinnerfield', - fieldLabel: _('Port'), + fieldLabel: _('Port:'), + labelSeparator : '', name: 'port', strategy: { xtype: 'number', @@ -80,12 +82,14 @@ Deluge.AddConnectionWindow = Ext.extend(Ext.Window, { value: '58846', anchor: '40%' }, { - fieldLabel: _('Username'), + fieldLabel: _('Username:'), + labelSeparator : '', name: 'username', anchor: '75%', value: '' }, { - fieldLabel: _('Password'), + fieldLabel: _('Password:'), + labelSeparator : '', anchor: '75%', name: 'password', inputType: 'password', @@ -101,7 +105,7 @@ Deluge.AddConnectionWindow = Ext.extend(Ext.Window, { if (!result[0]) { Ext.MessageBox.show({ title: _('Error'), - msg: "Unable to add host: " + result[1], + msg: 'Unable to add host: ' + result[1], buttons: Ext.MessageBox.OK, modal: false, icon: Ext.MessageBox.ERROR, diff --git a/deluge/ui/web/js/deluge-all/AddTrackerWindow.js b/deluge/ui/web/js/deluge-all/AddTrackerWindow.js index a921ec2cc..a65430c2f 100644 --- a/deluge/ui/web/js/deluge-all/AddTrackerWindow.js +++ b/deluge/ui/web/js/deluge-all/AddTrackerWindow.js @@ -1,6 +1,6 @@ /*! * Deluge.AddTrackerWindow.js - * + * * Copyright (c) Damien Churchill 2009-2010 * * This program is free software; you can redistribute it and/or modify @@ -36,7 +36,7 @@ Ext.ns('Deluge'); * @extends Ext.Window */ Deluge.AddTrackerWindow = Ext.extend(Ext.Window, { - + title: _('Add Tracker'), layout: 'fit', width: 375, @@ -52,18 +52,19 @@ Deluge.AddTrackerWindow = Ext.extend(Ext.Window, { initComponent: function() { Deluge.AddTrackerWindow.superclass.initComponent.call(this); - + this.addButton(_('Cancel'), this.onCancelClick, this); this.addButton(_('Add'), this.onAddClick, this); this.addEvents('add'); - + this.form = this.add({ xtype: 'form', defaultType: 'textarea', baseCls: 'x-plain', labelWidth: 55, items: [{ - fieldLabel: _('Trackers'), + fieldLabel: _('Trackers:'), + labelSeparator: '', name: 'trackers', anchor: '100%' }] @@ -73,7 +74,7 @@ Deluge.AddTrackerWindow = Ext.extend(Ext.Window, { onAddClick: function() { var trackers = this.form.getForm().findField('trackers').getValue(); trackers = trackers.split('\n'); - + var cleaned = []; Ext.each(trackers, function(tracker) { if (Ext.form.VTypes.url(tracker)) { diff --git a/deluge/ui/web/js/deluge-all/Client.js b/deluge/ui/web/js/deluge-all/Client.js index 979099bea..7b9ce2e1e 100644 --- a/deluge/ui/web/js/deluge-all/Client.js +++ b/deluge/ui/web/js/deluge-all/Client.js @@ -1,6 +1,6 @@ /*! * Deluge.Client.js - * + * * Copyright (c) Damien Churchill 2009-2010 * * This program is free software; you can redistribute it and/or modify diff --git a/deluge/ui/web/js/deluge-all/EditTrackerWindow.js b/deluge/ui/web/js/deluge-all/EditTrackerWindow.js index 32bcef175..d1cc790e9 100644 --- a/deluge/ui/web/js/deluge-all/EditTrackerWindow.js +++ b/deluge/ui/web/js/deluge-all/EditTrackerWindow.js @@ -1,6 +1,6 @@ /*! * Deluge.EditTrackerWindow.js - * + * * Copyright (c) Damien Churchill 2009-2010 * * This program is free software; you can redistribute it and/or modify @@ -49,42 +49,43 @@ Deluge.EditTrackerWindow = Ext.extend(Ext.Window, { buttonAlign: 'right', closeAction: 'hide', iconCls: 'x-deluge-edit-trackers', - + initComponent: function() { Deluge.EditTrackerWindow.superclass.initComponent.call(this); - + this.addButton(_('Cancel'), this.onCancelClick, this); this.addButton(_('Save'), this.onSaveClick, this); this.on('hide', this.onHide, this); - + this.form = this.add({ xtype: 'form', defaultType: 'textfield', baseCls: 'x-plain', labelWidth: 55, items: [{ - fieldLabel: _('Tracker'), + fieldLabel: _('Tracker:'), + labelSeparator: '', name: 'tracker', anchor: '100%' }] }); }, - + show: function(record) { Deluge.EditTrackerWindow.superclass.show.call(this); - + this.record = record; this.form.getForm().findField('tracker').setValue(record.data['url']); }, - + onCancelClick: function() { this.hide(); }, - + onHide: function() { this.form.getForm().findField('tracker').setValue(''); }, - + onSaveClick: function() { var url = this.form.getForm().findField('tracker').getValue(); this.record.set('url', url); diff --git a/deluge/ui/web/js/deluge-all/FilterPanel.js b/deluge/ui/web/js/deluge-all/FilterPanel.js index 703836d77..c9aed1e1e 100644 --- a/deluge/ui/web/js/deluge-all/FilterPanel.js +++ b/deluge/ui/web/js/deluge-all/FilterPanel.js @@ -46,14 +46,24 @@ Deluge.FilterPanel = Ext.extend(Ext.Panel, { initComponent: function() { Deluge.FilterPanel.superclass.initComponent.call(this); this.filterType = this.initialConfig.filter; - - var title = this.filterType.replace('_', ' '), - parts = title.split(' '), - title = ''; - Ext.each(parts, function(p) { - fl = p.substring(0, 1).toUpperCase(); - title += fl + p.substring(1) + ' '; - }); + var title = ''; + if (this.filterType == 'state') { + title = _('States'); + } else if (this.filterType == 'tracker_host') { + title = _('Trackers'); + } else if (this.filterType == 'owner') { + title = _('Owner'); + } else if (this.filterType == 'label') { + title = _('Labels'); + } else { + title = this.filterType.replace('_', ' '), + parts = title.split(' '), + title = ''; + Ext.each(parts, function(p) { + fl = p.substring(0, 1).toUpperCase(); + title += fl + p.substring(1) + ' '; + }); + } this.setTitle(_(title)); if (Deluge.FilterPanel.templates[this.filterType]) { @@ -121,7 +131,7 @@ Deluge.FilterPanel = Ext.extend(Ext.Panel, { if (!show_zero) { var newStates = []; Ext.each(states, function(state) { - if (state[1] > 0 || state[0] == _('All')) { + if (state[1] > 0 || state[0] == 'All') { newStates.push(state); } }); @@ -141,7 +151,7 @@ Deluge.FilterPanel = Ext.extend(Ext.Panel, { store.insert(i, record); } record.beginEdit(); - record.set('filter', s[0]); + record.set('filter', _(s[0])); record.set('count', s[1]); record.endEdit(); filters[s[0]] = true; diff --git a/deluge/ui/web/js/deluge-all/LoginWindow.js b/deluge/ui/web/js/deluge-all/LoginWindow.js index 2946a0155..d852eec70 100644 --- a/deluge/ui/web/js/deluge-all/LoginWindow.js +++ b/deluge/ui/web/js/deluge-all/LoginWindow.js @@ -67,7 +67,8 @@ Deluge.LoginWindow = Ext.extend(Ext.Window, { this.passwordField = this.form.add({ xtype: 'textfield', - fieldLabel: _('Password'), + fieldLabel: _('Password:'), + labelSeparator : '', grow: true, growMin: '110', growMax: '145', diff --git a/deluge/ui/web/js/deluge-all/Plugin.js b/deluge/ui/web/js/deluge-all/Plugin.js index a3d544e85..5ff42ce98 100644 --- a/deluge/ui/web/js/deluge-all/Plugin.js +++ b/deluge/ui/web/js/deluge-all/Plugin.js @@ -1,6 +1,6 @@ /*! * Deluge.Plugin.js - * + * * Copyright (c) Damien Churchill 2009-2010 * * This program is free software; you can redistribute it and/or modify @@ -51,33 +51,33 @@ Deluge.Plugin = Ext.extend(Ext.util.Observable, { * @event enabled * @param {Plugin} plugin the plugin instance */ - "enabled": true, + 'enabled': true, /** * @event disabled * @param {Plugin} plugin the plugin instance */ - "disabled": true + 'disabled': true }); Deluge.Plugin.superclass.constructor.call(this, config); }, - + /** * Disables the plugin, firing the "{@link #disabled}" event and * then executing the plugins clean up method onDisabled. */ disable: function() { - this.fireEvent("disabled", this); + this.fireEvent('disabled', this); if (this.onDisable) this.onDisable(); }, - + /** * Enables the plugin, firing the "{@link #enabled}" event and * then executes the plugins setup method, onEnabled. */ enable: function() { deluge.client.reloadMethods(); - this.fireEvent("enable", this); + this.fireEvent('enable', this); if (this.onEnable) this.onEnable(); }, diff --git a/deluge/ui/web/js/deluge-all/RemoveWindow.js b/deluge/ui/web/js/deluge-all/RemoveWindow.js index d40aa88af..cba58c777 100644 --- a/deluge/ui/web/js/deluge-all/RemoveWindow.js +++ b/deluge/ui/web/js/deluge-all/RemoveWindow.js @@ -61,7 +61,7 @@ Deluge.RemoveWindow = Ext.extend(Ext.Window, { deluge.client.core.remove_torrents(this.torrentIds, removeData, { success: function(result) { if (result) { - console.log("Error(s) occured when trying to delete torrent(s)."); + console.log('Error(s) occured when trying to delete torrent(s).'); } this.onRemoved(this.torrentIds); }, diff --git a/deluge/ui/web/js/deluge-all/Sidebar.js b/deluge/ui/web/js/deluge-all/Sidebar.js index c5f3e5139..339d4b9b3 100644 --- a/deluge/ui/web/js/deluge-all/Sidebar.js +++ b/deluge/ui/web/js/deluge-all/Sidebar.js @@ -67,7 +67,7 @@ Deluge.Sidebar = Ext.extend(Ext.Panel, { // private initComponent: function() { Deluge.Sidebar.superclass.initComponent.call(this); - deluge.events.on("disconnect", this.onDisconnect, this); + deluge.events.on('disconnect', this.onDisconnect, this); }, createFilter: function(filter, states) { diff --git a/deluge/ui/web/js/deluge-all/Statusbar.js b/deluge/ui/web/js/deluge-all/Statusbar.js index 8d883e297..7077102ed 100644 --- a/deluge/ui/web/js/deluge-all/Statusbar.js +++ b/deluge/ui/web/js/deluge-all/Statusbar.js @@ -310,6 +310,6 @@ Deluge.Statusbar = Ext.extend(Ext.ux.StatusBar, { }); this.items.get('statusbar-dht').setText(stats.dht_nodes); - this.items.get('statusbar-freespace').setText(stats.free_space >= 0 ? fsize(stats.free_space): _("Error")); + this.items.get('statusbar-freespace').setText(stats.free_space >= 0 ? fsize(stats.free_space): _('Error')); } }); diff --git a/deluge/ui/web/js/deluge-all/TorrentGrid.js b/deluge/ui/web/js/deluge-all/TorrentGrid.js index afb6bc2bf..d51f17ab4 100644 --- a/deluge/ui/web/js/deluge-all/TorrentGrid.js +++ b/deluge/ui/web/js/deluge-all/TorrentGrid.js @@ -50,7 +50,7 @@ function torrentProgressRenderer(value, p, r) { value = new Number(value); var progress = value; - var text = r.data['state'] + ' ' + value.toFixed(2) + '%'; + var text = _(r.data['state']) + ' ' + value.toFixed(2) + '%'; if ( this.style ) { var style = this.style } else { @@ -85,7 +85,7 @@ } function dateOrNever(date) { - return date > 0.0 ? fdate(date) : "Never" + return date > 0.0 ? fdate(date) : _('Never') } /** diff --git a/deluge/ui/web/js/deluge-all/UI.js b/deluge/ui/web/js/deluge-all/UI.js index 08774afc2..402cf1aaa 100644 --- a/deluge/ui/web/js/deluge-all/UI.js +++ b/deluge/ui/web/js/deluge-all/UI.js @@ -30,6 +30,30 @@ * statement from all source files in the program, then also delete it here. */ +/** Dummy translation arrays so Torrent and Tracker states are available for Translators. +* +* All entries in deluge.common.TORRENT_STATE should be added here. +* +* No need to import these, just simply use the `_()` function around a status variable. +*/ +var TORRENT_STATE_TRANSLATION = [ + _('All'), + _('Active'), + _('Allocating'), + _('Checking'), + _('Downloading'), + _('Seeding'), + _('Paused'), + _('Checking'), + _('Queued'), + _('Error')]; + +var TRACKER_STATUS_TRANSLATION = [ + _('Error'), + _('Warning'), + _('Announce OK'), + _('Announce Sent')]; + /** * @static * @class Deluge.UI @@ -92,8 +116,8 @@ deluge.ui = { items: [this.MainPanel] }); - deluge.events.on("connect", this.onConnect, this); - deluge.events.on("disconnect", this.onDisconnect, this); + deluge.events.on('connect', this.onConnect, this); + deluge.events.on('disconnect', this.onDisconnect, this); deluge.events.on('PluginDisabledEvent', this.onPluginDisabled, this); deluge.events.on('PluginEnabledEvent', this.onPluginEnabled, this); deluge.client = new Ext.ux.util.RpcClient({ diff --git a/deluge/ui/web/js/deluge-all/details/DetailsTab.js b/deluge/ui/web/js/deluge-all/details/DetailsTab.js index 2d78b88c9..65b83096f 100644 --- a/deluge/ui/web/js/deluge-all/details/DetailsTab.js +++ b/deluge/ui/web/js/deluge-all/details/DetailsTab.js @@ -39,18 +39,19 @@ Deluge.details.DetailsTab = Ext.extend(Ext.Panel, { autoScroll: true, queuedItems: {}, + oldData: {}, initComponent: function() { Deluge.details.DetailsTab.superclass.initComponent.call(this); - this.addItem('torrent_name', _('Name')); - this.addItem('hash', _('Hash')); - this.addItem('path', _('Download Folder')); - this.addItem('size', _('Total Size')); - this.addItem('files', _('Total Files')); - this.addItem('comment', _('Comment')); - this.addItem('status', _('Status')); - this.addItem('tracker', _('Tracker')); + this.addItem('torrent_name', _('Name:')); + this.addItem('hash', _('Hash:')); + this.addItem('path', _('Download Folder:')); + this.addItem('size', _('Total Size:')); + this.addItem('files', _('Total Files:')); + this.addItem('comment', _('Comment:')); + this.addItem('status', _('Status:')); + this.addItem('tracker', _('Tracker:')); }, onRender: function(ct, position) { @@ -73,7 +74,7 @@ Deluge.details.DetailsTab = Ext.extend(Ext.Panel, { // private doAddItem: function(id, label) { - Ext.DomHelper.append(this.dl, {tag: 'dt', cls: id, html: label + ':'}); + Ext.DomHelper.append(this.dl, {tag: 'dt', cls: id, html: label}); this.fields[id] = Ext.DomHelper.append(this.dl, {tag: 'dd', cls: id, html: ''}, true); }, diff --git a/deluge/ui/web/js/deluge-all/details/OptionsTab.js b/deluge/ui/web/js/deluge-all/details/OptionsTab.js index cc273605d..bd2333fc8 100644 --- a/deluge/ui/web/js/deluge-all/details/OptionsTab.js +++ b/deluge/ui/web/js/deluge-all/details/OptionsTab.js @@ -94,7 +94,7 @@ Deluge.details.OptionsTab = Ext.extend(Ext.form.FormPanel, { */ this.fieldsets.bandwidth.add({ xtype: 'label', - text: _('Max Download Speed'), + text: _('Max Download Speed:'), forId: 'max_download_speed', cls: 'x-deluge-options-label' }); @@ -120,7 +120,7 @@ Deluge.details.OptionsTab = Ext.extend(Ext.form.FormPanel, { */ this.fieldsets.bandwidth.add({ xtype: 'label', - text: _('Max Upload Speed'), + text: _('Max Upload Speed:'), forId: 'max_upload_speed', cls: 'x-deluge-options-label' }); @@ -147,7 +147,7 @@ Deluge.details.OptionsTab = Ext.extend(Ext.form.FormPanel, { */ this.fieldsets.bandwidth.add({ xtype: 'label', - text: _('Max Connections'), + text: _('Max Connections:'), forId: 'max_connections', cls: 'x-deluge-options-label' }); @@ -170,7 +170,7 @@ Deluge.details.OptionsTab = Ext.extend(Ext.form.FormPanel, { */ this.fieldsets.bandwidth.add({ xtype: 'label', - text: _('Max Upload Slots'), + text: _('Max Upload Slots:'), forId: 'max_upload_slots', cls: 'x-deluge-options-label' }); @@ -222,7 +222,7 @@ Deluge.details.OptionsTab = Ext.extend(Ext.form.FormPanel, { labelSeparator: '', id: 'stop_at_ratio', width: 120, - boxLabel: _('Stop seed at ratio'), + boxLabel: _('Stop seed at ratio:'), handler: this.onStopRatioChecked, scope: this }); @@ -259,7 +259,7 @@ Deluge.details.OptionsTab = Ext.extend(Ext.form.FormPanel, { fieldLabel: '', labelSeparator: '', id: 'move_completed', - boxLabel: _('Move Completed'), + boxLabel: _('Move Completed:'), colspan: 2, handler: this.onMoveCompletedChecked, scope: this diff --git a/deluge/ui/web/js/deluge-all/details/PeersTab.js b/deluge/ui/web/js/deluge-all/details/PeersTab.js index 6ac742337..c97f01714 100644 --- a/deluge/ui/web/js/deluge-all/details/PeersTab.js +++ b/deluge/ui/web/js/deluge-all/details/PeersTab.js @@ -43,8 +43,8 @@ var peer_ip = value.split(':'); if (peer_ip.length > 2) { var port = peer_ip.pop(); - var ip = peer_ip.join(":"); - value = "[" + ip + "]:" + port; + var ip = peer_ip.join(':'); + value = '[' + ip + ']:' + port; } return String.format('
{1}
', seed, value); } diff --git a/deluge/ui/web/js/deluge-all/preferences/BandwidthPage.js b/deluge/ui/web/js/deluge-all/preferences/BandwidthPage.js index 78d02dffc..b63fe4b9f 100644 --- a/deluge/ui/web/js/deluge-all/preferences/BandwidthPage.js +++ b/deluge/ui/web/js/deluge-all/preferences/BandwidthPage.js @@ -1,6 +1,6 @@ /*! * Deluge.preferences.BandwidthPage.js - * + * * Copyright (c) Damien Churchill 2009-2010 * * This program is free software; you can redistribute it and/or modify @@ -45,10 +45,10 @@ Deluge.preferences.Bandwidth = Ext.extend(Ext.form.FormPanel, { }, config); Deluge.preferences.Bandwidth.superclass.constructor.call(this, config); }, - + initComponent: function() { Deluge.preferences.Bandwidth.superclass.initComponent.call(this); - + var om = deluge.preferences.getOptionsManager(); var fieldset = this.add({ xtype: 'fieldset', @@ -65,7 +65,8 @@ Deluge.preferences.Bandwidth = Ext.extend(Ext.form.FormPanel, { }); om.bind('max_connections_global', fieldset.add({ name: 'max_connections_global', - fieldLabel: _('Maximum Connections'), + fieldLabel: _('Maximum Connections:'), + labelSeparator: '', width: 80, value: -1, decimalPrecision: 0 @@ -73,39 +74,44 @@ Deluge.preferences.Bandwidth = Ext.extend(Ext.form.FormPanel, { om.bind('max_upload_slots_global', fieldset.add({ name: 'max_upload_slots_global', fieldLabel: _('Maximum Upload Slots'), + labelSeparator: '', width: 80, value: -1, decimalPrecision: 0 })); om.bind('max_download_speed', fieldset.add({ name: 'max_download_speed', - fieldLabel: _('Maximum Download Speed (KiB/s)'), + fieldLabel: _('Maximum Download Speed (KiB/s):'), + labelSeparator: '', width: 80, value: -1.0, decimalPrecision: 1 })); om.bind('max_upload_speed', fieldset.add({ name: 'max_upload_speed', - fieldLabel: _('Maximum Upload Speed (KiB/s)'), + fieldLabel: _('Maximum Upload Speed (KiB/s):'), + labelSeparator: '', width: 80, value: -1.0, decimalPrecision: 1 })); om.bind('max_half_open_connections', fieldset.add({ name: 'max_half_open_connections', - fieldLabel: _('Maximum Half-Open Connections'), + fieldLabel: _('Maximum Half-Open Connections:'), + labelSeparator: '', width: 80, value: -1, decimalPrecision: 0 })); om.bind('max_connections_per_second', fieldset.add({ name: 'max_connections_per_second', - fieldLabel: _('Maximum Connection Attempts per Second'), + fieldLabel: _('Maximum Connection Attempts per Second:'), + labelSeparator: '', width: 80, value: -1, decimalPrecision: 0 })); - + fieldset = this.add({ xtype: 'fieldset', border: false, @@ -128,7 +134,7 @@ Deluge.preferences.Bandwidth = Ext.extend(Ext.form.FormPanel, { labelSeparator: '', boxLabel: _('Rate limit IP overhead') })); - + fieldset = this.add({ xtype: 'fieldset', border: false, @@ -144,28 +150,32 @@ Deluge.preferences.Bandwidth = Ext.extend(Ext.form.FormPanel, { }); om.bind('max_connections_per_torrent', fieldset.add({ name: 'max_connections_per_torrent', - fieldLabel: _('Maximum Connections'), + fieldLabel: _('Maximum Connections:'), + labelSeparator: '', width: 80, value: -1, decimalPrecision: 0 })); om.bind('max_upload_slots_per_torrent', fieldset.add({ name: 'max_upload_slots_per_torrent', - fieldLabel: _('Maximum Upload Slots'), + fieldLabel: _('Maximum Upload Slots:'), + labelSeparator: '', width: 80, value: -1, decimalPrecision: 0 })); om.bind('max_download_speed_per_torrent', fieldset.add({ name: 'max_download_speed_per_torrent', - fieldLabel: _('Maximum Download Speed (KiB/s)'), + fieldLabel: _('Maximum Download Speed (KiB/s):'), + labelSeparator: '', width: 80, value: -1, decimalPrecision: 0 })); om.bind('max_upload_speed_per_torrent', fieldset.add({ name: 'max_upload_speed_per_torrent', - fieldLabel: _('Maximum Upload Speed (KiB/s)'), + fieldLabel: _('Maximum Upload Speed (KiB/s):'), + labelSeparator: '', width: 80, value: -1, decimalPrecision: 0 diff --git a/deluge/ui/web/js/deluge-all/preferences/CachePage.js b/deluge/ui/web/js/deluge-all/preferences/CachePage.js index 4635778af..66a0fd41a 100644 --- a/deluge/ui/web/js/deluge-all/preferences/CachePage.js +++ b/deluge/ui/web/js/deluge-all/preferences/CachePage.js @@ -1,6 +1,6 @@ /*! * Deluge.preferences.CachePage.js - * + * * Copyright (c) Damien Churchill 2009-2010 * * This program is free software; you can redistribute it and/or modify @@ -40,12 +40,12 @@ Deluge.preferences.Cache = Ext.extend(Ext.form.FormPanel, { border: false, title: _('Cache'), layout: 'form', - + initComponent: function() { Deluge.preferences.Cache.superclass.initComponent.call(this); var om = deluge.preferences.getOptionsManager(); - + var fieldset = this.add({ xtype: 'fieldset', border: false, @@ -60,13 +60,15 @@ Deluge.preferences.Cache = Ext.extend(Ext.form.FormPanel, { } }); om.bind('cache_size', fieldset.add({ - fieldLabel: _('Cache Size (16 KiB Blocks)'), + fieldLabel: _('Cache Size (16 KiB Blocks):'), + labelSeparator: '', name: 'cache_size', width: 60, value: 512 })); om.bind('cache_expiry', fieldset.add({ - fieldLabel: _('Cache Expiry (seconds)'), + fieldLabel: _('Cache Expiry (seconds):'), + labelSeparator: '', name: 'cache_expiry', width: 60, value: 60 diff --git a/deluge/ui/web/js/deluge-all/preferences/DaemonPage.js b/deluge/ui/web/js/deluge-all/preferences/DaemonPage.js index 2a344d9c0..97a6c9786 100644 --- a/deluge/ui/web/js/deluge-all/preferences/DaemonPage.js +++ b/deluge/ui/web/js/deluge-all/preferences/DaemonPage.js @@ -1,6 +1,6 @@ /*! * Deluge.preferences.DaemonPage.js - * + * * Copyright (c) Damien Churchill 2009-2010 * * This program is free software; you can redistribute it and/or modify @@ -40,12 +40,12 @@ Deluge.preferences.Daemon = Ext.extend(Ext.form.FormPanel, { border: false, title: _('Daemon'), layout: 'form', - + initComponent: function() { Deluge.preferences.Daemon.superclass.initComponent.call(this); var om = deluge.preferences.getOptionsManager(); - + var fieldset = this.add({ xtype: 'fieldset', border: false, @@ -54,14 +54,15 @@ Deluge.preferences.Daemon = Ext.extend(Ext.form.FormPanel, { defaultType: 'spinnerfield' }); om.bind('daemon_port', fieldset.add({ - fieldLabel: _('Daemon port'), + fieldLabel: _('Daemon port:'), + labelSeparator: '', name: 'daemon_port', value: 58846, decimalPrecision: 0, minValue: -1, maxValue: 99999 })); - + fieldset = this.add({ xtype: 'fieldset', border: false, @@ -77,7 +78,7 @@ Deluge.preferences.Daemon = Ext.extend(Ext.form.FormPanel, { boxLabel: _('Allow Remote Connections'), name: 'allow_remote' })); - + fieldset = this.add({ xtype: 'fieldset', border: false, diff --git a/deluge/ui/web/js/deluge-all/preferences/DownloadsPage.js b/deluge/ui/web/js/deluge-all/preferences/DownloadsPage.js index 0003b55d4..50b3dffa9 100644 --- a/deluge/ui/web/js/deluge-all/preferences/DownloadsPage.js +++ b/deluge/ui/web/js/deluge-all/preferences/DownloadsPage.js @@ -66,13 +66,15 @@ Deluge.preferences.Downloads = Ext.extend(Ext.FormPanel, { optMan.bind('download_location', fieldset.add({ xtype: 'textfield', name: 'download_location', - fieldLabel: _('Download to'), + fieldLabel: _('Download to:'), + labelSeparator: '', width: 280 })); var field = fieldset.add({ name: 'move_completed_path', - fieldLabel: _('Move completed to'), + fieldLabel: _('Move completed to:'), + labelSeparator: '', width: 280 }); optMan.bind('move_completed', field.toggle); @@ -80,7 +82,8 @@ Deluge.preferences.Downloads = Ext.extend(Ext.FormPanel, { field = fieldset.add({ name: 'torrentfiles_location', - fieldLabel: _('Copy of .torrent files to'), + fieldLabel: _('Copy of .torrent files to:'), + labelSeparator: '', width: 280 }); optMan.bind('copy_torrent_file', field.toggle); diff --git a/deluge/ui/web/js/deluge-all/preferences/InterfacePage.js b/deluge/ui/web/js/deluge-all/preferences/InterfacePage.js index e8e6b749d..5f80aa589 100644 --- a/deluge/ui/web/js/deluge-all/preferences/InterfacePage.js +++ b/deluge/ui/web/js/deluge-all/preferences/InterfacePage.js @@ -1,6 +1,6 @@ /*! * Deluge.preferences.InterfacePage.js - * + * * Copyright (c) Damien Churchill 2009-2010 * * This program is free software; you can redistribute it and/or modify @@ -40,13 +40,13 @@ Deluge.preferences.Interface = Ext.extend(Ext.form.FormPanel, { border: false, title: _('Interface'), layout: 'form', - + initComponent: function() { Deluge.preferences.Interface.superclass.initComponent.call(this); - + var om = this.optionsManager = new Deluge.OptionsManager(); this.on('show', this.onPageShow, this); - + var fieldset = this.add({ xtype: 'fieldset', border: false, @@ -77,7 +77,7 @@ Deluge.preferences.Interface = Ext.extend(Ext.form.FormPanel, { labelSeparator: '', boxLabel: _('Allow the use of multiple filters at once') })); - + fieldset = this.add({ xtype: 'fieldset', border: false, @@ -91,20 +91,23 @@ Deluge.preferences.Interface = Ext.extend(Ext.form.FormPanel, { inputType: 'password' } }); - + this.oldPassword = fieldset.add({ name: 'old_password', - fieldLabel: _('Old Password') + fieldLabel: _('Old Password:'), + labelSeparator: '', }); this.newPassword = fieldset.add({ name: 'new_password', - fieldLabel: _('New Password') + fieldLabel: _('New Password:'), + labelSeparator: '', }); this.confirmPassword = fieldset.add({ name: 'confirm_password', - fieldLabel: _('Confirm Password') + fieldLabel: _('Confirm Password:'), + labelSeparator: '', }); - + var panel = fieldset.add({ xtype: 'panel', autoHeight: true, @@ -122,7 +125,7 @@ Deluge.preferences.Interface = Ext.extend(Ext.form.FormPanel, { } } }); - + fieldset = this.add({ xtype: 'fieldset', border: false, @@ -137,14 +140,16 @@ Deluge.preferences.Interface = Ext.extend(Ext.form.FormPanel, { }); om.bind('session_timeout', fieldset.add({ name: 'session_timeout', - fieldLabel: _('Session Timeout'), + fieldLabel: _('Session Timeout:'), + labelSeparator: '', decimalPrecision: 0, minValue: -1, maxValue: 99999 })); om.bind('port', fieldset.add({ name: 'port', - fieldLabel: _('Port'), + fieldLabel: _('Port:'), + labelSeparator: '', decimalPrecision: 0, minValue: -1, maxValue: 99999 @@ -163,17 +168,19 @@ Deluge.preferences.Interface = Ext.extend(Ext.form.FormPanel, { disabled: true, name: 'pkey', width: 180, - fieldLabel: _('Private Key') + fieldLabel: _('Private Key:'), + labelSeparator: '' })); this.certField = om.bind('cert', fieldset.add({ xtype: 'textfield', disabled: true, name: 'cert', width: 180, - fieldLabel: _('Certificate') + fieldLabel: _('Certificate:'), + labelSeparator: '' })); }, - + onApply: function() { var changed = this.optionsManager.getDirty(); if (!Ext.isObjectEmpty(changed)) { @@ -187,11 +194,11 @@ Deluge.preferences.Interface = Ext.extend(Ext.form.FormPanel, { } } }, - + onGotConfig: function(config) { this.optionsManager.set(config); }, - + onPasswordChange: function() { var newPassword = this.newPassword.getValue(); if (newPassword != this.confirmPassword.getValue()) { @@ -205,7 +212,7 @@ Deluge.preferences.Interface = Ext.extend(Ext.form.FormPanel, { }); return; } - + var oldPassword = this.oldPassword.getValue(); deluge.client.auth.change_password(oldPassword, newPassword, { success: function(result) { @@ -236,18 +243,18 @@ Deluge.preferences.Interface = Ext.extend(Ext.form.FormPanel, { scope: this }); }, - + onSetConfig: function() { this.optionsManager.commit(); }, - + onPageShow: function() { deluge.client.web.get_config({ success: this.onGotConfig, scope: this }) }, - + onSSLCheck: function(e, checked) { this.pkeyField.setDisabled(!checked); this.certField.setDisabled(!checked); diff --git a/deluge/ui/web/js/deluge-all/preferences/NetworkPage.js b/deluge/ui/web/js/deluge-all/preferences/NetworkPage.js index fad66aaae..a361c04f5 100644 --- a/deluge/ui/web/js/deluge-all/preferences/NetworkPage.js +++ b/deluge/ui/web/js/deluge-all/preferences/NetworkPage.js @@ -105,7 +105,7 @@ Deluge.preferences.Network = Ext.extend(Ext.form.FormPanel, { style: 'margin-right: 10px;' }, items: [{ - fieldLabel: 'From:', + fieldLabel: _('From:'), labelSeparator: '', strategy: { xtype: 'number', @@ -114,7 +114,7 @@ Deluge.preferences.Network = Ext.extend(Ext.form.FormPanel, { maxValue: 99999 } }, { - fieldLabel: 'To:', + fieldLabel: _('To:'), labelSeparator: '', strategy: { xtype: 'number', @@ -160,7 +160,7 @@ Deluge.preferences.Network = Ext.extend(Ext.form.FormPanel, { style: 'margin-right: 10px;' }, items: [{ - fieldLabel: 'From:', + fieldLabel: _('From:'), labelSeparator: '', strategy: { xtype: 'number', @@ -169,7 +169,7 @@ Deluge.preferences.Network = Ext.extend(Ext.form.FormPanel, { maxValue: 99999 } }, { - fieldLabel: 'To:', + fieldLabel: _('To:'), labelSeparator: '', strategy: { xtype: 'number', diff --git a/deluge/ui/web/js/deluge-all/preferences/OtherPage.js b/deluge/ui/web/js/deluge-all/preferences/OtherPage.js index 60f1a655f..9e56facfa 100644 --- a/deluge/ui/web/js/deluge-all/preferences/OtherPage.js +++ b/deluge/ui/web/js/deluge-all/preferences/OtherPage.js @@ -101,7 +101,8 @@ types. Absolutely no other information is sent.') }); optMan.bind('geoip_db_location', fieldset.add({ name: 'geoip_db_location', - fieldLabel: _('Location'), + fieldLabel: _('Path:'), + labelSeparator: '', width: 200 })); } diff --git a/deluge/ui/web/js/deluge-all/preferences/PluginsPage.js b/deluge/ui/web/js/deluge-all/preferences/PluginsPage.js index 1d7499fe1..ba97c63f2 100644 --- a/deluge/ui/web/js/deluge-all/preferences/PluginsPage.js +++ b/deluge/ui/web/js/deluge-all/preferences/PluginsPage.js @@ -45,11 +45,11 @@ Deluge.preferences.Plugins = Ext.extend(Ext.Panel, { pluginTemplate: new Ext.Template( '
' + - '
Author:
{author}
' + - '
Version:
{version}
' + - '
Author Email:
{email}
' + - '
Homepage:
{homepage}
' + - '
Details:
{details}
' + + '
' + _('Author:') + '
{author}
' + + '
' + _('Version:') + '
{version}
' + + '
' + _('Author Email:') + '
{email}
' + + '
' + _('Homepage:') + '
{homepage}
' + + '
' + _('Details:') + '
{details}
' + '
' ), diff --git a/deluge/ui/web/js/deluge-all/preferences/ProxyI2PField.js b/deluge/ui/web/js/deluge-all/preferences/ProxyI2PField.js index fa642ea1f..78f072348 100644 --- a/deluge/ui/web/js/deluge-all/preferences/ProxyI2PField.js +++ b/deluge/ui/web/js/deluge-all/preferences/ProxyI2PField.js @@ -46,7 +46,8 @@ Deluge.preferences.ProxyI2PField = Ext.extend(Ext.form.FieldSet, { this.hostname = this.add({ xtype: 'textfield', name: 'hostname', - fieldLabel: _('Host'), + fieldLabel: _('Host:'), + labelSeparator: '', width: 220 }); this.hostname.on('change', this.onFieldChange, this); @@ -54,7 +55,8 @@ Deluge.preferences.ProxyI2PField = Ext.extend(Ext.form.FieldSet, { this.port = this.add({ xtype: 'spinnerfield', name: 'port', - fieldLabel: _('Port'), + fieldLabel: _('Port:'), + labelSeparator: '', width: 80, decimalPrecision: 0, minValue: 0, diff --git a/deluge/ui/web/js/deluge-all/preferences/QueuePage.js b/deluge/ui/web/js/deluge-all/preferences/QueuePage.js index 9a6b4cf69..366971e92 100644 --- a/deluge/ui/web/js/deluge-all/preferences/QueuePage.js +++ b/deluge/ui/web/js/deluge-all/preferences/QueuePage.js @@ -1,6 +1,6 @@ /*! * Deluge.preferences.QueuePage.js - * + * * Copyright (c) Damien Churchill 2009-2010 * * This program is free software; you can redistribute it and/or modify @@ -40,12 +40,12 @@ Deluge.preferences.Queue = Ext.extend(Ext.form.FormPanel, { border: false, title: _('Queue'), layout: 'form', - + initComponent: function() { Deluge.preferences.Queue.superclass.initComponent.call(this); - + var om = deluge.preferences.getOptionsManager(); - + var fieldset = this.add({ xtype: 'fieldset', border: false, @@ -62,7 +62,7 @@ Deluge.preferences.Queue = Ext.extend(Ext.form.FormPanel, { boxLabel: _('Queue new torrents to top'), name: 'queue_new_to_top' })); - + fieldset = this.add({ xtype: 'fieldset', border: false, @@ -73,7 +73,8 @@ Deluge.preferences.Queue = Ext.extend(Ext.form.FormPanel, { style: 'margin-bottom: 0px; padding-bottom: 0px;' }); om.bind('max_active_limit', fieldset.add({ - fieldLabel: _('Total Active'), + fieldLabel: _('Total Active:'), + labelSeparator: '', name: 'max_active_limit', value: 8, width: 80, @@ -82,7 +83,8 @@ Deluge.preferences.Queue = Ext.extend(Ext.form.FormPanel, { maxValue: 99999 })); om.bind('max_active_downloading', fieldset.add({ - fieldLabel: _('Total Active Downloading'), + fieldLabel: _('Total Active Downloading:'), + labelSeparator: '', name: 'max_active_downloading', value: 3, width: 80, @@ -91,7 +93,8 @@ Deluge.preferences.Queue = Ext.extend(Ext.form.FormPanel, { maxValue: 99999 })); om.bind('max_active_seeding', fieldset.add({ - fieldLabel: _('Total Active Seeding'), + fieldLabel: _('Total Active Seeding:'), + labelSeparator: '', name: 'max_active_seeding', value: 5, width: 80, @@ -113,7 +116,7 @@ Deluge.preferences.Queue = Ext.extend(Ext.form.FormPanel, { hideLabel: true, boxLabel: _('Prefer Seeding over Downloading') })); - + fieldset = this.add({ xtype: 'fieldset', border: false, @@ -124,7 +127,8 @@ Deluge.preferences.Queue = Ext.extend(Ext.form.FormPanel, { style: 'margin-bottom: 0px; padding-bottom: 0px; margin-top: 0; padding-top: 0;' }); om.bind('share_ratio_limit', fieldset.add({ - fieldLabel: _('Share Ratio Limit'), + fieldLabel: _('Share Ratio Limit:'), + labelSeparator: '', name: 'share_ratio_limit', value: 8, width: 80, @@ -135,7 +139,8 @@ Deluge.preferences.Queue = Ext.extend(Ext.form.FormPanel, { decimalPrecision: 2 })); om.bind('seed_time_ratio_limit', fieldset.add({ - fieldLabel: _('Share Time Ratio'), + fieldLabel: _('Share Time Ratio:'), + labelSeparator: '', name: 'seed_time_ratio_limit', value: 3, width: 80, @@ -146,7 +151,8 @@ Deluge.preferences.Queue = Ext.extend(Ext.form.FormPanel, { decimalPrecision: 2 })); om.bind('seed_time_limit', fieldset.add({ - fieldLabel: _('Seed Time (m)'), + fieldLabel: _('Seed Time (m):'), + labelSeparator: '', name: 'seed_time_limit', value: 5, width: 80, @@ -154,17 +160,17 @@ Deluge.preferences.Queue = Ext.extend(Ext.form.FormPanel, { minValue: -1, maxValue: 99999 })); - + fieldset = this.add({ xtype: 'fieldset', border: false, autoHeight: true, - + layout: 'table', layoutConfig: {columns: 2}, labelWidth: 0, defaultType: 'checkbox', - + defaults: { fieldLabel: '', labelSeparator: '' @@ -176,7 +182,7 @@ Deluge.preferences.Queue = Ext.extend(Ext.form.FormPanel, { }); this.stopAtRatio.on('check', this.onStopRatioCheck, this); om.bind('stop_seed_at_ratio', this.stopAtRatio); - + this.stopRatio = fieldset.add({ xtype: 'spinnerfield', name: 'stop_seed_ratio', @@ -191,7 +197,7 @@ Deluge.preferences.Queue = Ext.extend(Ext.form.FormPanel, { decimalPrecision: 2 }); om.bind('stop_seed_ratio', this.stopRatio); - + this.removeAtRatio = fieldset.add({ name: 'remove_seed_at_ratio', ctCls: 'x-deluge-indent-checkbox', @@ -201,7 +207,7 @@ Deluge.preferences.Queue = Ext.extend(Ext.form.FormPanel, { }); om.bind('remove_seed_at_ratio', this.removeAtRatio); }, - + onStopRatioCheck: function(e, checked) { this.stopRatio.setDisabled(!checked); this.removeAtRatio.setDisabled(!checked);