diff --git a/deluge/ui/web/js/deluge-all/ConnectionManager.js b/deluge/ui/web/js/deluge-all/ConnectionManager.js index f3d44e70d..e76ef4902 100644 --- a/deluge/ui/web/js/deluge-all/ConnectionManager.js +++ b/deluge/ui/web/js/deluge-all/ConnectionManager.js @@ -68,6 +68,16 @@ Deluge.ConnectionManager = Ext.extend(Ext.Window, { header: _('Status'), width: .24, sortable: true, + tpl: new Ext.XTemplate( + '', + _('Online'), + '', + '', + _('Offline'), + '', + '', + _('Connected'), + ''), dataIndex: 'status' }, { id:'host', @@ -174,18 +184,18 @@ Deluge.ConnectionManager = Ext.extend(Ext.Window, { var button = this.buttons[1], status = record.get('status'); // Update the Connect/Disconnect button - if (status == _('Connected')) { + if (status == 'Connected') { button.enable(); button.setText(_('Disconnect')); - } else if (status == _('Offline')) { + } else if (status == 'Offline') { button.disable(); } else { button.enable(); - button.setText(_('Connect')); + button.setText('Connect'); } // Update the Stop/Start Daemon button - if (status == _('Offline')) { + if (status == 'Offline') { if (record.get('host') == '127.0.0.1' || record.get('host') == 'localhost') { this.stopHostButton.enable(); this.stopHostButton.setText(_('Start Daemon')); @@ -222,7 +232,7 @@ Deluge.ConnectionManager = Ext.extend(Ext.Window, { var selected = this.list.getSelectedRecords()[0]; if (!selected) return; - if (selected.get('status') == _('Connected')) { + if (selected.get('status') == 'Connected') { deluge.client.web.disconnect({ success: function(result) { this.update(this); @@ -272,10 +282,9 @@ Deluge.ConnectionManager = Ext.extend(Ext.Window, { // private onLogin: function() { if (deluge.config.first_login) { - Ext.MessageBox.confirm('Change password', - 'As this is your first login, we recommend that you ' + - 'change your password. Would you like to ' + - 'do this now?', function(res) { + Ext.MessageBox.confirm(_('Change Default Password'), + _('We recommend changing the default password.

Would you like to change it now?'), + function(res) { this.checkConnected(); if (res == 'yes') { deluge.preferences.show(); diff --git a/deluge/ui/web/js/gettext.js b/deluge/ui/web/js/gettext.js index 04547a327..ef0f47e0a 100644 --- a/deluge/ui/web/js/gettext.js +++ b/deluge/ui/web/js/gettext.js @@ -26,67 +26,31 @@ function _(string) { return GetText.get(string); } -// TorrentGrid.js:109 -GetText.add('#', '${escape(_("#"))}') - -// DetailsTab.js:50 -GetText.add('# of files', '${escape(_("# of files"))}') - -// Menus.js:166 -GetText.add('0', '${escape(_("0"))}') - -// Menus.js:168 -GetText.add('1', '${escape(_("1"))}') - // Menus.js:111, Menus.js:130 GetText.add('10 KiB/s', '${escape(_("10 KiB/s"))}') -// Menus.js:149 -GetText.add('100', '${escape(_("100"))}') - -// Menus.js:170 -GetText.add('2', '${escape(_("2"))}') - -// Menus.js:151 -GetText.add('200', '${escape(_("200"))}') - -// Menus.js:172 -GetText.add('3', '${escape(_("3"))}') - // Menus.js:113, Menus.js:132 GetText.add('30 KiB/s', '${escape(_("30 KiB/s"))}') -// Menus.js:153 -GetText.add('300', '${escape(_("300"))}') - // Menus.js:117, Menus.js:136 GetText.add('300 KiB/s', '${escape(_("300 KiB/s"))}') -// Menus.js:174 -GetText.add('5', '${escape(_("5"))}') - // Menus.js:109, Menus.js:128 GetText.add('5 KiB/s', '${escape(_("5 KiB/s"))}') -// Menus.js:147 -GetText.add('50', '${escape(_("50"))}') - -// Menus.js:155 -GetText.add('500', '${escape(_("500"))}') - // Menus.js:115, Menus.js:134 GetText.add('80 KiB/s', '${escape(_("80 KiB/s"))}') // QueuePage.js:69 GetText.add('Active Torrents', '${escape(_("Active Torrents"))}') -// EditTrackersWindow.js:112, ConnectionManager.js:100, AddConnectionWindow.js:56, Toolbar.js:58, AddTrackerWindow.js:57, UrlWindow.js:50, FileWindow.js:53, AddWindow.js:52 +// EditTrackersWindow.js:112, ConnectionManager.js:110, AddConnectionWindow.js:56, Toolbar.js:58, AddTrackerWindow.js:57, UrlWindow.js:50, FileWindow.js:53, AddWindow.js:52 GetText.add('Add', '${escape(_("Add"))}') // AddConnectionWindow.js:40 GetText.add('Add Connection', '${escape(_("Add Connection"))}') -// OptionsTab.js:143 +// OptionsTab.js:131 GetText.add('Add In Paused State', '${escape(_("Add In Paused State"))}') // AddWindow.js:37 @@ -122,6 +86,9 @@ GetText.add('Announce OK', '${escape(_("Announce OK"))}') // StatusTab.js:124 GetText.add('Announce Sent', '${escape(_("Announce Sent"))}') +// ProxyPage.js:67 +GetText.add('Anonymous Mode', '${escape(_("Anonymous Mode"))}') + // OptionsTab.js:347, PreferencesWindow.js:107 GetText.add('Apply', '${escape(_("Apply"))}') @@ -167,6 +134,9 @@ GetText.add('Certificate', '${escape(_("Certificate"))}') // InterfacePage.js:117 GetText.add('Change', '${escape(_("Change"))}') +// ConnectionManager.js:285 +GetText.add('Change Default Password', '${escape(_("Change Default Password"))}') + // InterfacePage.js:224 GetText.add('Change Successful', '${escape(_("Change Successful"))}') @@ -185,10 +155,10 @@ GetText.add('Completed', '${escape(_("Completed"))}') // InterfacePage.js:105 GetText.add('Confirm Password', '${escape(_("Confirm Password"))}') -// ConnectionManager.js:55, ConnectionManager.js:184 +// ConnectionManager.js:55 GetText.add('Connect', '${escape(_("Connect"))}') -// ConnectionManager.js:177, ConnectionManager.js:225 +// ConnectionManager.js:79 GetText.add('Connected', '${escape(_("Connected"))}') // Menus.js:142 @@ -215,7 +185,7 @@ GetText.add('Create', '${escape(_("Create"))}') // Menus.js:104 GetText.add('D/L Speed Limit', '${escape(_("D/L Speed Limit"))}') -// NetworkPage.js:214 +// NetworkPage.js:224 GetText.add('DHT', '${escape(_("DHT"))}') // Statusbar.js:210 @@ -236,10 +206,10 @@ GetText.add('Details', '${escape(_("Details"))}') // EncryptionPage.js:66, EncryptionPage.js:84 GetText.add('Disabled', '${escape(_("Disabled"))}') -// ConnectionManager.js:179 +// ConnectionManager.js:189 GetText.add('Disconnect', '${escape(_("Disconnect"))}') -// Menus.js:257, Deluge.js:156 +// Menus.js:257, Deluge.js:163 GetText.add('Do Not Download', '${escape(_("Do Not Download"))}') // QueuePage.js:107 @@ -257,8 +227,8 @@ GetText.add('Down Speed', '${escape(_("Down Speed"))}') // FilesTab.js:63 GetText.add('Download', '${escape(_("Download"))}') -// OptionsTab.js:55 -GetText.add('Download Location', '${escape(_("Download Location"))}') +// MoveStorage.js:67, TorrentGrid.js:208, DetailsTab.js:48, OptionsTab.js:55 +GetText.add('Download Folder', '${escape(_("Download Folder"))}') // Statusbar.js:104 GetText.add('Download Speed', '${escape(_("Download Speed"))}') @@ -293,7 +263,7 @@ GetText.add('Enabled', '${escape(_("Enabled"))}') // EncryptionPage.js:41 GetText.add('Encryption', '${escape(_("Encryption"))}') -// ConnectionManager.js:308, ConnectionManager.js:364, AddConnectionWindow.js:103, StatusTab.js:121, AddWindow.js:209 +// ConnectionManager.js:317, ConnectionManager.js:373, AddConnectionWindow.js:103, StatusTab.js:121, AddWindow.js:209 GetText.add('Error', '${escape(_("Error"))}') // Menus.js:253 @@ -330,7 +300,7 @@ GetText.add('Forced', '${escape(_("Forced"))}') GetText.add('Forward', '${escape(_("Forward"))}') // Statusbar.js:216 -GetText.add('Freespace in download location', '${escape(_("Freespace in download location"))}') +GetText.add('Freespace in download folder', '${escape(_("Freespace in download folder"))}') // EncryptionPage.js:101 GetText.add('Full Stream', '${escape(_("Full Stream"))}') @@ -359,16 +329,19 @@ GetText.add('Hash', '${escape(_("Hash"))}') // Toolbar.js:107 GetText.add('Help', '${escape(_("Help"))}') -// Menus.js:267, Deluge.js:158 +// ProxyPage.js:77 +GetText.add('Hide Client Identity', '${escape(_("Hide Client Identity"))}') + +// Menus.js:267, Deluge.js:165 GetText.add('High Priority', '${escape(_("High Priority"))}') -// Menus.js:272, Deluge.js:159 +// Menus.js:272, Deluge.js:166 GetText.add('Highest Priority', '${escape(_("Highest Priority"))}') // FileBrowser.js:56 GetText.add('Home', '${escape(_("Home"))}') -// ConnectionManager.js:74, AddConnectionWindow.js:66, ProxyI2PField.js:49 +// ConnectionManager.js:84, AddConnectionWindow.js:66, ProxyI2PField.js:49 GetText.add('Host', '${escape(_("Host"))}') // ProxyField.js:75 @@ -380,10 +353,10 @@ GetText.add('I2P Proxy', '${escape(_("I2P Proxy"))}') // BandwidthPage.js:122 GetText.add('Ignore limits on local network', '${escape(_("Ignore limits on local network"))}') -// NetworkPage.js:51 +// NetworkPage.js:60 GetText.add('Incoming Address', '${escape(_("Incoming Address"))}') -// NetworkPage.js:67 +// NetworkPage.js:77 GetText.add('Incoming Ports', '${escape(_("Incoming Ports"))}') // EncryptionPage.js:57 @@ -407,13 +380,10 @@ GetText.add('Interface', '${escape(_("Interface"))}') // InterfacePage.js:199 GetText.add('Invalid Password', '${escape(_("Invalid Password"))}') -// OptionsTab.js:114, OptionsTab.js:141 +// Statusbar.js:144, Statusbar.js:192, OptionsTab.js:114, OptionsTab.js:141 GetText.add('KiB/s', '${escape(_("KiB/s"))}') -// Statusbar.js:144, Statusbar.js:192 -GetText.add('Kib/s', '${escape(_("Kib/s"))}') - -// NetworkPage.js:208 +// NetworkPage.js:218 GetText.add('LSD', '${escape(_("LSD"))}') // EncryptionPage.js:93 @@ -422,7 +392,7 @@ GetText.add('Level:', '${escape(_("Level:"))}') // StatusTab.js:61 GetText.add('Loading', '${escape(_("Loading"))}') -// MoveStorage.js:67, OtherPage.js:104 +// OtherPage.js:104 GetText.add('Location', '${escape(_("Location"))}') // LoginWindow.js:45, LoginWindow.js:54 @@ -477,24 +447,24 @@ GetText.add('Move', '${escape(_("Move"))}') GetText.add('Move Completed', '${escape(_("Move Completed"))}') // OptionsTab.js:71 -GetText.add('Move Completed Location', '${escape(_("Move Completed Location"))}') +GetText.add('Move Completed Folder', '${escape(_("Move Completed Folder"))}') // Menus.js:242, MoveStorage.js:38 -GetText.add('Move Storage', '${escape(_("Move Storage"))}') +GetText.add('Move Download Folder', '${escape(_("Move Download Folder"))}') // DownloadsPage.js:75 GetText.add('Move completed to', '${escape(_("Move completed to"))}') -// NetworkPage.js:194 +// NetworkPage.js:204 GetText.add('NAT-PMP', '${escape(_("NAT-PMP"))}') // TorrentGrid.js:116, DetailsTab.js:46 GetText.add('Name', '${escape(_("Name"))}') -// NetworkPage.js:42 +// NetworkPage.js:51 GetText.add('Network', '${escape(_("Network"))}') -// NetworkPage.js:177 +// NetworkPage.js:187 GetText.add('Network Extras', '${escape(_("Network Extras"))}') // InterfacePage.js:101 @@ -503,7 +473,7 @@ GetText.add('New Password', '${escape(_("New Password"))}') // ProxyField.js:56 GetText.add('None', '${escape(_("None"))}') -// Menus.js:262, Deluge.js:157 +// Menus.js:262, Deluge.js:164 GetText.add('Normal Priority', '${escape(_("Normal Priority"))}') // Statusbar.js:39 @@ -512,22 +482,25 @@ GetText.add('Not Connected', '${escape(_("Not Connected"))}') // AddWindow.js:210 GetText.add('Not a valid torrent', '${escape(_("Not a valid torrent"))}') -// ConnectionManager.js:180, ConnectionManager.js:188 -GetText.add('Offline', '${escape(_("Offline"))}') - // EditTrackersWindow.js:57, OtherLimitWindow.js:73, PreferencesWindow.js:108 -GetText.add('Ok', '${escape(_("Ok"))}') +GetText.add('OK', '${escape(_("OK"))}') + +// ConnectionManager.js:76 +GetText.add('Offline', '${escape(_("Offline"))}') // InterfacePage.js:97 GetText.add('Old Password', '${escape(_("Old Password"))}') +// ConnectionManager.js:73 +GetText.add('Online', '${escape(_("Online"))}') + // Menus.js:99, OptionsTab.js:49, OptionsTab.js:40, DownloadsPage.js:92 GetText.add('Options', '${escape(_("Options"))}') // Statusbar.js:90, Statusbar.js:138, Statusbar.js:186, OtherPage.js:42, DaemonPage.js:84 GetText.add('Other', '${escape(_("Other"))}') -// NetworkPage.js:122 +// NetworkPage.js:132 GetText.add('Outgoing Ports', '${escape(_("Outgoing Ports"))}') // EncryptionPage.js:75 @@ -542,19 +515,16 @@ GetText.add('Password', '${escape(_("Password"))}') // ProxyField.js:105 GetText.add('Password:', '${escape(_("Password:"))}') -// DetailsTab.js:48 -GetText.add('Path', '${escape(_("Path"))}') - // Menus.js:88, Toolbar.js:70 GetText.add('Pause', '${escape(_("Pause"))}') -// NetworkPage.js:201 +// NetworkPage.js:211 GetText.add('Peer Exchange', '${escape(_("Peer Exchange"))}') -// NetworkPage.js:237 +// NetworkPage.js:247 GetText.add('Peer TOS Byte:', '${escape(_("Peer TOS Byte:"))}') -// TorrentGrid.js:141, PeersTab.js:61 +// TorrentGrid.js:141, PeersTab.js:63 GetText.add('Peers', '${escape(_("Peers"))}') // BandwidthPage.js:135 @@ -578,9 +548,12 @@ GetText.add('Port', '${escape(_("Port"))}') // ProxyField.js:84 GetText.add('Port:', '${escape(_("Port:"))}') -// OptionsTab.js:149, DownloadsPage.js:121 +// DownloadsPage.js:121 GetText.add('Pre-allocate disk space', '${escape(_("Pre-allocate disk space"))}') +// OptionsTab.js:155 +GetText.add('Preallocate Disk Space', '${escape(_("Preallocate Disk Space"))}') + // QueuePage.js:114 GetText.add('Prefer Seeding over Downloading', '${escape(_("Prefer Seeding over Downloading"))}') @@ -590,7 +563,7 @@ GetText.add('Preferences', '${escape(_("Preferences"))}') // OptionsTab.js:308 GetText.add('Prioritize First/Last', '${escape(_("Prioritize First/Last"))}') -// OptionsTab.js:131 +// OptionsTab.js:137 GetText.add('Prioritize First/Last Pieces', '${escape(_("Prioritize First/Last Pieces"))}') // DownloadsPage.js:103 @@ -638,7 +611,7 @@ GetText.add('Ratio', '${escape(_("Ratio"))}') // TorrentGrid.js:249 GetText.add('Remaining', '${escape(_("Remaining"))}') -// EditTrackersWindow.js:122, ConnectionManager.js:107, Toolbar.js:64, AddWindow.js:112 +// EditTrackersWindow.js:122, ConnectionManager.js:117, Toolbar.js:64, AddWindow.js:112 GetText.add('Remove', '${escape(_("Remove"))}') // Menus.js:230, RemoveWindow.js:39, RemoveWindow.js:57 @@ -659,9 +632,6 @@ GetText.add('Resume', '${escape(_("Resume"))}') // EditTrackerWindow.js:57 GetText.add('Save', '${escape(_("Save"))}') -// TorrentGrid.js:208 -GetText.add('Save Path', '${escape(_("Save Path"))}') - // QueuePage.js:149 GetText.add('Seed Time (m)', '${escape(_("Seed Time (m)"))}') @@ -680,7 +650,10 @@ GetText.add('Select a torrent', '${escape(_("Select a torrent"))}') // InstallPluginWindow.js:65 GetText.add('Select an egg', '${escape(_("Select an egg"))}') -// OptionsTab.js:137, DownloadsPage.js:109 +// OptionsTab.js:143 +GetText.add('Sequential Download', '${escape(_("Sequential Download"))}') + +// DownloadsPage.js:109 GetText.add('Sequential download', '${escape(_("Sequential download"))}') // InterfacePage.js:129 @@ -719,6 +692,9 @@ GetText.add('Show session speed in titlebar', '${escape(_("Show session speed in // TorrentGrid.js:122, FilesTab.js:44, FilesTab.js:54 GetText.add('Size', '${escape(_("Size"))}') +// OptionsTab.js:149 +GetText.add('Skip File Hash Check', '${escape(_("Skip File Hash Check"))}') + // ProxyField.js:57 GetText.add('Socks4', '${escape(_("Socks4"))}') @@ -728,7 +704,7 @@ GetText.add('Socks5', '${escape(_("Socks5"))}') // ProxyField.js:59 GetText.add('Socks5 Auth', '${escape(_("Socks5 Auth"))}') -// ConnectionManager.js:191 +// ConnectionManager.js:201 GetText.add('Start Daemon', '${escape(_("Start Daemon"))}') // Sidebar.js:34 @@ -737,7 +713,7 @@ GetText.add('State', '${escape(_("State"))}') // ConnectionManager.js:68, StatusTab.js:39, DetailsTab.js:52 GetText.add('Status', '${escape(_("Status"))}') -// ConnectionManager.js:115, ConnectionManager.js:197, ConnectionManager.js:328 +// ConnectionManager.js:125, ConnectionManager.js:207, ConnectionManager.js:337 GetText.add('Stop Daemon', '${escape(_("Stop Daemon"))}') // OptionsTab.js:225 @@ -764,13 +740,16 @@ GetText.add('Total Active Downloading', '${escape(_("Total Active Downloading")) // QueuePage.js:94 GetText.add('Total Active Seeding', '${escape(_("Total Active Seeding"))}') +// DetailsTab.js:50 +GetText.add('Total Files', '${escape(_("Total Files"))}') + // DetailsTab.js:49 GetText.add('Total Size', '${escape(_("Total Size"))}') // EditTrackersWindow.js:80, TorrentGrid.js:201, EditTrackerWindow.js:66, DetailsTab.js:53 GetText.add('Tracker', '${escape(_("Tracker"))}') -// NetworkPage.js:221 +// NetworkPage.js:231 GetText.add('Tracker Exchange', '${escape(_("Tracker Exchange"))}') // Sidebar.js:35 @@ -779,7 +758,7 @@ GetText.add('Tracker Host', '${escape(_("Tracker Host"))}') // AddTrackerWindow.js:66 GetText.add('Trackers', '${escape(_("Trackers"))}') -// NetworkPage.js:229 +// NetworkPage.js:239 GetText.add('Type Of Service', '${escape(_("Type Of Service"))}') // ProxyField.js:48 @@ -788,7 +767,7 @@ GetText.add('Type:', '${escape(_("Type:"))}') // Menus.js:123 GetText.add('U/L Speed Limit', '${escape(_("U/L Speed Limit"))}') -// NetworkPage.js:188 +// NetworkPage.js:198 GetText.add('UPnP', '${escape(_("UPnP"))}') // Statusbar.js:85, Statusbar.js:133, Statusbar.js:181, Menus.js:119, Menus.js:138, Menus.js:157, Menus.js:176 @@ -827,7 +806,7 @@ GetText.add('Uploading your torrent...', '${escape(_("Uploading your torrent..." // UrlWindow.js:60, AddWindow.js:102 GetText.add('Url', '${escape(_("Url"))}') -// NetworkPage.js:76, NetworkPage.js:131 +// NetworkPage.js:86, NetworkPage.js:141 GetText.add('Use Random Ports', '${escape(_("Use Random Ports"))}') // InterfacePage.js:158 @@ -839,12 +818,15 @@ GetText.add('Username', '${escape(_("Username"))}') // ProxyField.js:96 GetText.add('Username:', '${escape(_("Username:"))}') -// ConnectionManager.js:80 +// ConnectionManager.js:90 GetText.add('Version', '${escape(_("Version"))}') // StatusTab.js:122 GetText.add('Warning', '${escape(_("Warning"))}') +// ConnectionManager.js:286 +GetText.add('We recommend changing the default password.

Would you like to change it now?', '${escape(_("We recommend changing the default password.

Would you like to change it now?"))}') + // OtherPage.js:90 GetText.add('Yes, please send anonymous statistics', '${escape(_("Yes, please send anonymous statistics"))}') diff --git a/deluge/ui/web/json_api.py b/deluge/ui/web/json_api.py index 449d59eb7..3b620f3bc 100644 --- a/deluge/ui/web/json_api.py +++ b/deluge/ui/web/json_api.py @@ -757,7 +757,7 @@ class WebApi(JSONComponent): Return the hosts in the hostlist. """ log.debug("get_hosts called") - return [(tuple(host[HOSTS_ID:HOSTS_PORT + 1]) + (_("Offline"),)) for host in self.host_list["hosts"]] + return [(tuple(host[HOSTS_ID:HOSTS_PORT + 1]) + ("Offline",)) for host in self.host_list["hosts"]] @export def get_host_status(self, host_id): @@ -776,30 +776,30 @@ class WebApi(JSONComponent): except TypeError: host = None port = None - return response(_("Offline")) + return response("Offline") def on_connect(connected, c, host_id): def on_info(info, c): c.disconnect() - return response(_("Online"), info) + return response("Online", info) def on_info_fail(reason, c): c.disconnect() - return response(_("Offline")) + return response("Offline") if not connected: - return response(_("Offline")) + return response("Offline") return c.daemon.info().addCallback(on_info, c).addErrback(on_info_fail, c) def on_connect_failed(reason, host_id): - return response(_("Offline")) + return response("Offline") if client.connected() and (host, port, "localclient" if not user and host in ("127.0.0.1", "localhost") else user) == client.connection_info(): def on_info(info): - return response(_("Connected"), info) + return response("Connected", info) return client.daemon.info().addCallback(on_info) else: