From d6d1cc5f454e0bfa0a7c4d39187b1c573a2cccb7 Mon Sep 17 00:00:00 2001 From: Calum Lind Date: Fri, 23 Nov 2012 00:53:49 +0000 Subject: [PATCH] Updates to web gen_gettext script and add .build_data to gitignore --- .gitignore | 1 + deluge/ui/web/gen_gettext.py | 11 +- deluge/ui/web/gettext.js | 580 ++++++++++++++++++++--------------- 3 files changed, 336 insertions(+), 256 deletions(-) mode change 100644 => 100755 deluge/ui/web/gen_gettext.py diff --git a/.gitignore b/.gitignore index 2a7eb4d80..03b6fe47a 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ dist _trial_temp deluge/i18n/*/ *.desktop +.build_data diff --git a/deluge/ui/web/gen_gettext.py b/deluge/ui/web/gen_gettext.py old mode 100644 new mode 100755 index 05025aec5..b2518d74b --- a/deluge/ui/web/gen_gettext.py +++ b/deluge/ui/web/gen_gettext.py @@ -2,15 +2,14 @@ """ Script to go through the javascript files and dynamically generate gettext.js """ - import os import re -import glob -import cStringIO as StringIO +output_file = "gettext.js" string_re = re.compile('_\\(\'(.*?)\'\\)') strings = {} + gettext_tpl = """## -*- coding: utf-8 -*- /* * Script: gettext.js @@ -59,10 +58,10 @@ for root, dnames, files in os.walk('js/deluge-all'): keys = strings.keys() keys.sort() -fp = StringIO.StringIO() +fp = open(output_file, 'w') fp.write(gettext_tpl) for key in keys: fp.write('// %s\n' % ', '.join(map(lambda x: '%s:%s' % x, strings[key]))) fp.write("GetText.add('%(key)s', '${escape(_(\"%(key)s\"))}')\n\n" % locals()) -fp.seek(0) -print fp.read() +fp.close() + diff --git a/deluge/ui/web/gettext.js b/deluge/ui/web/gettext.js index 7bed3e588..538b78b35 100644 --- a/deluge/ui/web/gettext.js +++ b/deluge/ui/web/gettext.js @@ -26,739 +26,819 @@ function _(string) { return GetText.get(string); } -// Deluge.Torrents.js:117 +// TorrentGrid.js:109 GetText.add('#', '${escape(_("#"))}') -// Deluge.Menus.js:167 +// DetailsTab.js:50 +GetText.add('# of files', '${escape(_("# of files"))}') + +// Menus.js:161 GetText.add('0', '${escape(_("0"))}') -// Deluge.Menus.js:169 +// Menus.js:163 GetText.add('1', '${escape(_("1"))}') -// Deluge.Menus.js:115, Deluge.Menus.js:133 +// Menus.js:109, Menus.js:127 GetText.add('10 KiB/s', '${escape(_("10 KiB/s"))}') -// Deluge.Menus.js:151 +// Menus.js:145 GetText.add('100', '${escape(_("100"))}') -// Deluge.Menus.js:171 +// Menus.js:165 GetText.add('2', '${escape(_("2"))}') -// Deluge.Menus.js:153 +// Menus.js:147 GetText.add('200', '${escape(_("200"))}') -// Deluge.Menus.js:173 +// Menus.js:167 GetText.add('3', '${escape(_("3"))}') -// Deluge.Menus.js:117, Deluge.Menus.js:135 +// Menus.js:111, Menus.js:129 GetText.add('30 KiB/s', '${escape(_("30 KiB/s"))}') -// Deluge.Menus.js:155 +// Menus.js:149 GetText.add('300', '${escape(_("300"))}') -// Deluge.Menus.js:121, Deluge.Menus.js:139 +// Menus.js:115, Menus.js:133 GetText.add('300 KiB/s', '${escape(_("300 KiB/s"))}') -// Deluge.Menus.js:175 +// Menus.js:169 GetText.add('5', '${escape(_("5"))}') -// Deluge.Menus.js:113, Deluge.Menus.js:131 +// Menus.js:107, Menus.js:125 GetText.add('5 KiB/s', '${escape(_("5 KiB/s"))}') -// Deluge.Menus.js:149 +// Menus.js:143 GetText.add('50', '${escape(_("50"))}') -// Deluge.Menus.js:157 +// Menus.js:151 GetText.add('500', '${escape(_("500"))}') -// Deluge.Menus.js:119, Deluge.Menus.js:137 +// Menus.js:113, Menus.js:131 GetText.add('80 KiB/s', '${escape(_("80 KiB/s"))}') -// Deluge.Preferences.Queue.js:70 +// QueuePage.js:69 GetText.add('Active Torrents', '${escape(_("Active Torrents"))}') -// Deluge.ConnectionManager.js:64, Deluge.ConnectionManager.js:222, Deluge.Add.Url.js:55, Deluge.Toolbar.js:51, Deluge.Add.js:384, Deluge.EditTrackers.js:58, Deluge.EditTrackers.js:237, Deluge.Add.File.js:55 +// EditTrackersWindow.js:112, ConnectionManager.js:100, AddConnectionWindow.js:56, Toolbar.js:58, AddTrackerWindow.js:57, UrlWindow.js:50, FileWindow.js:53, AddWindow.js:52 GetText.add('Add', '${escape(_("Add"))}') -// Deluge.ConnectionManager.js:52 +// AddConnectionWindow.js:40 GetText.add('Add Connection', '${escape(_("Add Connection"))}') -// Deluge.Add.js:184 +// OptionsTab.js:147 GetText.add('Add In Paused State', '${escape(_("Add In Paused State"))}') -// Deluge.Add.js:366 +// AddWindow.js:37 GetText.add('Add Torrents', '${escape(_("Add Torrents"))}') -// Deluge.EditTrackers.js:39 +// AddTrackerWindow.js:40 GetText.add('Add Tracker', '${escape(_("Add Tracker"))}') -// Deluge.Add.File.js:47 +// FileWindow.js:40 GetText.add('Add from File', '${escape(_("Add from File"))}') -// Deluge.Add.Url.js:47 +// UrlWindow.js:36 GetText.add('Add from Url', '${escape(_("Add from Url"))}') -// Deluge.Preferences.Downloads.js:142 +// DownloadsPage.js:146 GetText.add('Add torrents in Paused state', '${escape(_("Add torrents in Paused state"))}') -// Deluge.Torrents.js:184 +// TorrentGrid.js:180 GetText.add('Added', '${escape(_("Added"))}') -// Deluge.Sidebar.js:198 +// FilterPanel.js:124 GetText.add('All', '${escape(_("All"))}') -// Deluge.Add.js:114, Deluge.Preferences.Downloads.js:97 +// OptionsTab.js:77, DownloadsPage.js:100 GetText.add('Allocation', '${escape(_("Allocation"))}') -// Deluge.Preferences.Daemon.js:81 +// DaemonPage.js:77 GetText.add('Allow Remote Connections', '${escape(_("Allow Remote Connections"))}') -// Deluge.Details.Options.js:347, Deluge.Preferences.js:91 +// InterfacePage.js:78 +GetText.add('Allow the use of multiple filters at once', '${escape(_("Allow the use of multiple filters at once"))}') + +// OptionsTab.js:347, PreferencesWindow.js:107 GetText.add('Apply', '${escape(_("Apply"))}') -// Deluge.Menus.js:182, Deluge.Details.Options.js:215 +// Menus.js:176, OptionsTab.js:215 GetText.add('Auto Managed', '${escape(_("Auto Managed"))}') -// Deluge.Preferences.Downloads.js:88 +// DownloadsPage.js:91 GetText.add('Autoadd .torrent files from', '${escape(_("Autoadd .torrent files from"))}') -// Deluge.Torrents.js:178 +// TorrentGrid.js:173 GetText.add('Avail', '${escape(_("Avail"))}') -// Deluge.Add.js:144, Deluge.Details.Options.js:88, Deluge.Preferences.Bandwidth.js:39 +// FileBrowser.js:47 +GetText.add('Back', '${escape(_("Back"))}') + +// OptionsTab.js:88, OptionsTab.js:107, BandwidthPage.js:42 GetText.add('Bandwidth', '${escape(_("Bandwidth"))}') -// Deluge.Preferences.Other.js:63 +// OtherPage.js:66 GetText.add('Be alerted about new releases', '${escape(_("Be alerted about new releases"))}') -// Deluge.Menus.js:210 +// Menus.js:204 GetText.add('Bottom', '${escape(_("Bottom"))}') -// Deluge.Preferences.Plugins.js:74, Deluge.Add.File.js:70 +// MoveStorage.js:73, FileWindow.js:70, InstallPluginWindow.js:69 GetText.add('Browse', '${escape(_("Browse"))}') -// Deluge.Preferences.Cache.js:39 +// CachePage.js:41 GetText.add('Cache', '${escape(_("Cache"))}') -// Deluge.Preferences.Cache.js:71 +// CachePage.js:69 GetText.add('Cache Expiry (seconds)', '${escape(_("Cache Expiry (seconds)"))}') -// Deluge.Preferences.Cache.js:59 +// CachePage.js:63 GetText.add('Cache Size (16 KiB Blocks)', '${escape(_("Cache Size (16 KiB Blocks)"))}') -// Deluge.Add.js:383, Deluge.MoveStorage.js:56, Deluge.EditTrackers.js:57, Deluge.EditTrackers.js:116, Deluge.EditTrackers.js:178, Deluge.Remove.js:53 +// EditTrackersWindow.js:56, OtherLimitWindow.js:72, RemoveWindow.js:55, MoveStorage.js:55, EditTrackerWindow.js:56, AddTrackerWindow.js:56, AddWindow.js:51 GetText.add('Cancel', '${escape(_("Cancel"))}') -// Deluge.Preferences.js:55 +// PreferencesWindow.js:85 GetText.add('Categories', '${escape(_("Categories"))}') -// Deluge.Preferences.Interface.js:180 +// InterfacePage.js:173 GetText.add('Certificate', '${escape(_("Certificate"))}') -// Deluge.Preferences.Interface.js:118 +// InterfacePage.js:117 GetText.add('Change', '${escape(_("Change"))}') -// Deluge.Preferences.Interface.js:227 +// InterfacePage.js:224 GetText.add('Change Successful', '${escape(_("Change Successful"))}') -// Deluge.ConnectionManager.js:63, Deluge.ConnectionManager.js:171, Deluge.Preferences.js:90 +// ConnectionManager.js:54, AddConnectionWindow.js:55, PreferencesWindow.js:106 GetText.add('Close', '${escape(_("Close"))}') -// Deluge.Add.js:137 +// DetailsTab.js:51 +GetText.add('Comment', '${escape(_("Comment"))}') + +// OptionsTab.js:100 GetText.add('Compact', '${escape(_("Compact"))}') -// Deluge.Preferences.Interface.js:106 +// InterfacePage.js:105 GetText.add('Confirm Password', '${escape(_("Confirm Password"))}') -// Deluge.ConnectionManager.js:172, Deluge.ConnectionManager.js:284 +// ConnectionManager.js:55, ConnectionManager.js:184 GetText.add('Connect', '${escape(_("Connect"))}') -// Deluge.ConnectionManager.js:277, Deluge.ConnectionManager.js:322 +// ConnectionManager.js:177, ConnectionManager.js:225 GetText.add('Connected', '${escape(_("Connected"))}') -// Deluge.Menus.js:145 +// Menus.js:139 GetText.add('Connection Limit', '${escape(_("Connection Limit"))}') -// Deluge.ConnectionManager.js:159, Deluge.Toolbar.js:99 +// ConnectionManager.js:43, Toolbar.js:100 GetText.add('Connection Manager', '${escape(_("Connection Manager"))}') -// Deluge.Statusbar.js:25, Deluge.Preferences.Daemon.js:72 +// UI.js:151 +GetText.add('Connection restored', '${escape(_("Connection restored"))}') + +// Statusbar.js:57, DaemonPage.js:68 GetText.add('Connections', '${escape(_("Connections"))}') -// Deluge.Add.Url.js:73 +// UrlWindow.js:68 GetText.add('Cookies', '${escape(_("Cookies"))}') -// Deluge.Preferences.Downloads.js:80 +// DownloadsPage.js:83 GetText.add('Copy of .torrent files to', '${escape(_("Copy of .torrent files to"))}') -// Deluge.Toolbar.js:44 +// Toolbar.js:52 GetText.add('Create', '${escape(_("Create"))}') -// Deluge.Menus.js:109 +// Menus.js:103 GetText.add('D/L Speed Limit', '${escape(_("D/L Speed Limit"))}') -// Deluge.Preferences.Network.js:229, Deluge.Preferences.Proxy.js:202 +// NetworkPage.js:225, ProxyPage.js:69 GetText.add('DHT', '${escape(_("DHT"))}') -// Deluge.Statusbar.js:52 +// Statusbar.js:210 GetText.add('DHT Nodes', '${escape(_("DHT Nodes"))}') -// Deluge.Preferences.Daemon.js:39 +// DaemonPage.js:41 GetText.add('Daemon', '${escape(_("Daemon"))}') -// Deluge.Preferences.Daemon.js:58 +// DaemonPage.js:57 GetText.add('Daemon port', '${escape(_("Daemon port"))}') -// Deluge.Details.Details.js:36 +// Toolbar.js:45 +GetText.add('Deluge', '${escape(_("Deluge"))}') + +// DetailsTab.js:36 GetText.add('Details', '${escape(_("Details"))}') -// Deluge.Preferences.Encryption.js:66, Deluge.Preferences.Encryption.js:82 +// EncryptionPage.js:65, EncryptionPage.js:82 GetText.add('Disabled', '${escape(_("Disabled"))}') -// Deluge.ConnectionManager.js:279 +// ConnectionManager.js:179 GetText.add('Disconnect', '${escape(_("Disconnect"))}') -// Deluge.Menus.js:410, Deluge.js:107 +// Menus.js:251, Deluge.js:156 GetText.add('Do Not Download', '${escape(_("Do Not Download"))}') -// Deluge.Preferences.Queue.js:117 +// QueuePage.js:107 GetText.add('Do not count slow torrents', '${escape(_("Do not count slow torrents"))}') -// Deluge.Toolbar.js:86, Deluge.Menus.js:204, Deluge.EditTrackers.js:231 +// EditTrackersWindow.js:107, Menus.js:198, Toolbar.js:89 GetText.add('Down', '${escape(_("Down"))}') -// Deluge.Torrents.js:154 +// TorrentGrid.js:241 +GetText.add('Down Limit', '${escape(_("Down Limit"))}') + +// TorrentGrid.js:148 GetText.add('Down Speed', '${escape(_("Down Speed"))}') -// Deluge.Add.js:94 +// FilesTab.js:63 +GetText.add('Download', '${escape(_("Download"))}') + +// OptionsTab.js:55 GetText.add('Download Location', '${escape(_("Download Location"))}') -// Deluge.Statusbar.js:32 +// Statusbar.js:104 GetText.add('Download Speed', '${escape(_("Download Speed"))}') -// Deluge.Preferences.Downloads.js:66 +// DownloadsPage.js:69 GetText.add('Download to', '${escape(_("Download to"))}') -// Deluge.Preferences.Downloads.js:39 +// TorrentGrid.js:227 +GetText.add('Downloaded', '${escape(_("Downloaded"))}') + +// DownloadsPage.js:42 GetText.add('Downloads', '${escape(_("Downloads"))}') -// Deluge.Torrents.js:166 +// TorrentGrid.js:160 GetText.add('ETA', '${escape(_("ETA"))}') -// Deluge.EditTrackers.js:243 +// EditTrackersWindow.js:117 GetText.add('Edit', '${escape(_("Edit"))}') -// Deluge.EditTrackers.js:98 +// EditTrackerWindow.js:40 GetText.add('Edit Tracker', '${escape(_("Edit Tracker"))}') -// Deluge.Menus.js:224, Deluge.Details.Options.js:329, Deluge.EditTrackers.js:160 +// EditTrackersWindow.js:40, Menus.js:218, OptionsTab.js:332 GetText.add('Edit Trackers', '${escape(_("Edit Trackers"))}') -// Deluge.Preferences.Encryption.js:98 +// EncryptionPage.js:99 GetText.add('Either', '${escape(_("Either"))}') -// Deluge.Preferences.Plugins.js:157, Deluge.Preferences.Encryption.js:65, Deluge.Preferences.Encryption.js:81 +// EncryptionPage.js:64, EncryptionPage.js:81, PluginsPage.js:81 GetText.add('Enabled', '${escape(_("Enabled"))}') -// Deluge.Preferences.Encryption.js:110 +// EncryptionPage.js:112 GetText.add('Encrypt entire stream', '${escape(_("Encrypt entire stream"))}') -// Deluge.Preferences.Encryption.js:39 +// EncryptionPage.js:41 GetText.add('Encryption', '${escape(_("Encryption"))}') -// Deluge.ConnectionManager.js:128, Deluge.ConnectionManager.js:391, Deluge.ConnectionManager.js:447, Deluge.Add.js:541 +// ConnectionManager.js:308, ConnectionManager.js:364, AddConnectionWindow.js:103, AddWindow.js:209 GetText.add('Error', '${escape(_("Error"))}') -// Deluge.Menus.js:406 +// Menus.js:247 GetText.add('Expand All', '${escape(_("Expand All"))}') -// Deluge.Add.js:431, Deluge.Add.File.js:67 +// FileWindow.js:67, AddWindow.js:98 GetText.add('File', '${escape(_("File"))}') -// Deluge.Add.js:63, Deluge.Details.Files.js:53 +// FileBrowser.js:36 +GetText.add('File Browser', '${escape(_("File Browser"))}') + +// OptionsPanel.js:143 +GetText.add('File prioritization is unavailable when using Compact allocation. Would you like to switch to Full allocation?', '${escape(_("File prioritization is unavailable when using Compact allocation. Would you like to switch to Full allocation?"))}') + +// FilesTab.js:41, FilesTab.js:50 GetText.add('Filename', '${escape(_("Filename"))}') -// Deluge.Add.js:54, Deluge.Details.Files.js:47 +// FilesTab.js:35, FilesTab.js:41 GetText.add('Files', '${escape(_("Files"))}') -// Deluge.Sidebar.js:75 +// Sidebar.js:55 GetText.add('Filters', '${escape(_("Filters"))}') -// Deluge.Preferences.Plugins.js:191 +// PluginsPage.js:118 GetText.add('Find More', '${escape(_("Find More"))}') -// Deluge.Preferences.Downloads.js:54 +// DownloadsPage.js:57 GetText.add('Folders', '${escape(_("Folders"))}') -// Deluge.Menus.js:236 +// Menus.js:230 GetText.add('Force Recheck', '${escape(_("Force Recheck"))}') -// Deluge.Preferences.Encryption.js:64, Deluge.Preferences.Encryption.js:80 +// EncryptionPage.js:63, EncryptionPage.js:80 GetText.add('Forced', '${escape(_("Forced"))}') -// Deluge.Statusbar.js:58 +// FileBrowser.js:50 +GetText.add('Forward', '${escape(_("Forward"))}') + +// Statusbar.js:216 GetText.add('Freespace in download location', '${escape(_("Freespace in download location"))}') -// Deluge.Add.js:130 +// OptionsTab.js:93 GetText.add('Full', '${escape(_("Full"))}') -// Deluge.Preferences.Encryption.js:97 +// EncryptionPage.js:98 GetText.add('Full Stream', '${escape(_("Full Stream"))}') -// Deluge.Preferences.Queue.js:53, Deluge.Add.js:177, Deluge.Details.Options.js:281 +// OptionsTab.js:293, OptionsTab.js:140, QueuePage.js:52 GetText.add('General', '${escape(_("General"))}') -// Deluge.Preferences.Other.js:94 +// OtherPage.js:97 GetText.add('GeoIP Database', '${escape(_("GeoIP Database"))}') -// Deluge.Preferences.Bandwidth.js:53 +// BandwidthPage.js:56 GetText.add('Global Bandwidth Usage', '${escape(_("Global Bandwidth Usage"))}') -// Deluge.Preferences.Proxy.js:61 +// ProxyField.js:59 GetText.add('HTTP', '${escape(_("HTTP"))}') -// Deluge.Preferences.Proxy.js:62 +// ProxyField.js:60 GetText.add('HTTP with Auth', '${escape(_("HTTP with Auth"))}') -// Deluge.Preferences.Encryption.js:96 +// EncryptionPage.js:97 GetText.add('Handshake', '${escape(_("Handshake"))}') -// Deluge.Toolbar.js:107 +// DetailsTab.js:47 +GetText.add('Hash', '${escape(_("Hash"))}') + +// Toolbar.js:107 GetText.add('Help', '${escape(_("Help"))}') -// Deluge.Menus.js:420, Deluge.js:109 +// Menus.js:261, Deluge.js:158 GetText.add('High Priority', '${escape(_("High Priority"))}') -// Deluge.Menus.js:425, Deluge.js:110 +// Menus.js:266, Deluge.js:159 GetText.add('Highest Priority', '${escape(_("Highest Priority"))}') -// Deluge.ConnectionManager.js:77, Deluge.ConnectionManager.js:193, Deluge.Preferences.Proxy.js:73 +// FileBrowser.js:56 +GetText.add('Home', '${escape(_("Home"))}') + +// ConnectionManager.js:74, AddConnectionWindow.js:66, ProxyField.js:71 GetText.add('Host', '${escape(_("Host"))}') -// Deluge.Preferences.Bandwidth.js:145 +// BandwidthPage.js:122 GetText.add('Ignore limits on local network', '${escape(_("Ignore limits on local network"))}') -// Deluge.Preferences.Encryption.js:58 +// EncryptionPage.js:57 GetText.add('Inbound', '${escape(_("Inbound"))}') -// Deluge.Preferences.Network.js:53 +// NetworkPage.js:51 GetText.add('Incoming Ports', '${escape(_("Incoming Ports"))}') -// Deluge.Preferences.Plugins.js:203 +// PluginsPage.js:135 GetText.add('Info', '${escape(_("Info"))}') -// Deluge.Add.js:444 +// AddWindow.js:107 GetText.add('Infohash', '${escape(_("Infohash"))}') -// Deluge.Preferences.Plugins.js:59, Deluge.Preferences.Plugins.js:186 +// InstallPluginWindow.js:54, PluginsPage.js:113 GetText.add('Install', '${escape(_("Install"))}') -// Deluge.Preferences.Plugins.js:55 +// InstallPluginWindow.js:40 GetText.add('Install Plugin', '${escape(_("Install Plugin"))}') -// Deluge.Preferences.Interface.js:39, Deluge.Preferences.Interface.js:54 +// InterfacePage.js:41, InterfacePage.js:53 GetText.add('Interface', '${escape(_("Interface"))}') -// Deluge.Preferences.Interface.js:202 +// InterfacePage.js:199 GetText.add('Invalid Password', '${escape(_("Invalid Password"))}') -// Deluge.Details.Options.js:114, Deluge.Details.Options.js:141 +// OptionsTab.js:114, OptionsTab.js:141 GetText.add('KiB/s', '${escape(_("KiB/s"))}') -// Deluge.Preferences.Network.js:223 +// Statusbar.js:144, Statusbar.js:192 +GetText.add('Kib/s', '${escape(_("Kib/s"))}') + +// NetworkPage.js:219 GetText.add('LSD', '${escape(_("LSD"))}') -// Deluge.Preferences.Encryption.js:90 +// TorrentGrid.js:187 +GetText.add('Last Seen Complete', '${escape(_("Last Seen Complete"))}') + +// EncryptionPage.js:91 GetText.add('Level', '${escape(_("Level"))}') -// Deluge.Details.Status.js:57, Deluge.Details.Details.js:43 +// StatusTab.js:61 GetText.add('Loading', '${escape(_("Loading"))}') -// Deluge.MoveStorage.js:68, Deluge.Preferences.Other.js:101 +// MoveStorage.js:67, OtherPage.js:104 GetText.add('Location', '${escape(_("Location"))}') -// Deluge.Login.js:52, Deluge.Login.js:63 +// LoginWindow.js:45, LoginWindow.js:54 GetText.add('Login', '${escape(_("Login"))}') -// Deluge.Login.js:139 +// LoginWindow.js:127 GetText.add('Login Failed', '${escape(_("Login Failed"))}') -// Deluge.Toolbar.js:115 +// Toolbar.js:114 GetText.add('Logout', '${escape(_("Logout"))}') -// Deluge.Add.js:164, Deluge.Details.Options.js:150 +// OptionsTab.js:150, OptionsTab.js:127 GetText.add('Max Connections', '${escape(_("Max Connections"))}') -// Deluge.Add.js:152 +// OptionsTab.js:115 GetText.add('Max Down Speed', '${escape(_("Max Down Speed"))}') -// Deluge.Details.Options.js:97 +// OptionsTab.js:97 GetText.add('Max Download Speed', '${escape(_("Max Download Speed"))}') -// Deluge.Add.js:158 +// OptionsTab.js:121 GetText.add('Max Up Speed', '${escape(_("Max Up Speed"))}') -// Deluge.Add.js:170, Deluge.Details.Options.js:173 +// OptionsTab.js:173, OptionsTab.js:133 GetText.add('Max Upload Slots', '${escape(_("Max Upload Slots"))}') -// Deluge.Details.Options.js:123 +// OptionsTab.js:123 GetText.add('Max Upload Speed', '${escape(_("Max Upload Speed"))}') -// Deluge.Preferences.Bandwidth.js:121 +// BandwidthPage.js:103 GetText.add('Maximum Connection Attempts per Second', '${escape(_("Maximum Connection Attempts per Second"))}') -// Deluge.Preferences.Bandwidth.js:61, Deluge.Preferences.Bandwidth.js:166 +// BandwidthPage.js:68, BandwidthPage.js:147 GetText.add('Maximum Connections', '${escape(_("Maximum Connections"))}') -// Deluge.Preferences.Bandwidth.js:85, Deluge.Preferences.Bandwidth.js:190 +// BandwidthPage.js:82, BandwidthPage.js:161 GetText.add('Maximum Download Speed (KiB/s)', '${escape(_("Maximum Download Speed (KiB/s)"))}') -// Deluge.Preferences.Bandwidth.js:109 +// BandwidthPage.js:96 GetText.add('Maximum Half-Open Connections', '${escape(_("Maximum Half-Open Connections"))}') -// Deluge.Preferences.Bandwidth.js:73, Deluge.Preferences.Bandwidth.js:178 +// BandwidthPage.js:75, BandwidthPage.js:154 GetText.add('Maximum Upload Slots', '${escape(_("Maximum Upload Slots"))}') -// Deluge.Preferences.Bandwidth.js:97, Deluge.Preferences.Bandwidth.js:202 +// BandwidthPage.js:89, BandwidthPage.js:168 GetText.add('Maximum Upload Speed (KiB/s)', '${escape(_("Maximum Upload Speed (KiB/s)"))}') -// Deluge.MoveStorage.js:57 +// MoveStorage.js:56 GetText.add('Move', '${escape(_("Move"))}') -// Deluge.Details.Options.js:262 +// OptionsTab.js:262 GetText.add('Move Completed', '${escape(_("Move Completed"))}') -// Deluge.Menus.js:242, Deluge.MoveStorage.js:39 +// Menus.js:236, MoveStorage.js:38 GetText.add('Move Storage', '${escape(_("Move Storage"))}') -// Deluge.Preferences.Downloads.js:72 +// DownloadsPage.js:75 GetText.add('Move completed to', '${escape(_("Move completed to"))}') -// Deluge.Preferences.Network.js:209 +// NetworkPage.js:205 GetText.add('NAT-PMP', '${escape(_("NAT-PMP"))}') -// Deluge.Torrents.js:124 +// TorrentGrid.js:116, DetailsTab.js:46 GetText.add('Name', '${escape(_("Name"))}') -// Deluge.Preferences.Network.js:40 +// NetworkPage.js:42 GetText.add('Network', '${escape(_("Network"))}') -// Deluge.Preferences.Network.js:192 +// NetworkPage.js:188 GetText.add('Network Extras', '${escape(_("Network Extras"))}') -// Deluge.Preferences.Network.js:161 +// NetworkPage.js:157 GetText.add('Network Interface', '${escape(_("Network Interface"))}') -// Deluge.Preferences.Interface.js:102 +// InterfacePage.js:101 GetText.add('New Password', '${escape(_("New Password"))}') -// Deluge.Preferences.Proxy.js:57 +// ProxyField.js:55 GetText.add('None', '${escape(_("None"))}') -// Deluge.Menus.js:415, Deluge.js:108 +// Menus.js:256, Deluge.js:157 GetText.add('Normal Priority', '${escape(_("Normal Priority"))}') -// Deluge.Statusbar.js:7 +// Statusbar.js:39 GetText.add('Not Connected', '${escape(_("Not Connected"))}') -// Deluge.Add.js:542 +// AddWindow.js:210 GetText.add('Not a valid torrent', '${escape(_("Not a valid torrent"))}') -// Deluge.Preferences.Notification.js:1 -GetText.add('Notification', '${escape(_("Notification"))}') - -// Deluge.ConnectionManager.js:280, Deluge.ConnectionManager.js:288 +// ConnectionManager.js:180, ConnectionManager.js:188 GetText.add('Offline', '${escape(_("Offline"))}') -// Deluge.EditTrackers.js:179, Deluge.Preferences.js:92 +// EditTrackersWindow.js:57, OtherLimitWindow.js:73, PreferencesWindow.js:108 GetText.add('Ok', '${escape(_("Ok"))}') -// Deluge.Preferences.Interface.js:98 +// InterfacePage.js:97 GetText.add('Old Password', '${escape(_("Old Password"))}') -// Deluge.Add.js:85, Deluge.Menus.js:105, Deluge.Details.Options.js:50, Deluge.Preferences.Downloads.js:125 +// Menus.js:99, OptionsTab.js:49, OptionsTab.js:40, DownloadsPage.js:129 GetText.add('Options', '${escape(_("Options"))}') -// Deluge.Menus.js:301, Deluge.Menus.js:348, Deluge.Menus.js:395, Deluge.Preferences.Daemon.js:88, Deluge.Preferences.Other.js:39 +// Statusbar.js:90, Statusbar.js:138, Statusbar.js:186, OtherPage.js:42, DaemonPage.js:84 GetText.add('Other', '${escape(_("Other"))}') -// Deluge.Preferences.Encryption.js:74 +// EncryptionPage.js:74 GetText.add('Outbound', '${escape(_("Outbound"))}') -// Deluge.Preferences.Network.js:108 +// NetworkPage.js:104 GetText.add('Outgoing Ports', '${escape(_("Outgoing Ports"))}') -// Deluge.ConnectionManager.js:109, Deluge.Preferences.Interface.js:85, Deluge.Preferences.Interface.js:217, Deluge.Preferences.Proxy.js:100, Deluge.Login.js:75 +// TorrentGrid.js:207 +GetText.add('Owner', '${escape(_("Owner"))}') + +// AddConnectionWindow.js:88, LoginWindow.js:70, ProxyField.js:95, InterfacePage.js:84, InterfacePage.js:214 GetText.add('Password', '${escape(_("Password"))}') -// Deluge.Toolbar.js:65, Deluge.Menus.js:93 +// DetailsTab.js:48 +GetText.add('Path', '${escape(_("Path"))}') + +// Menus.js:88, Toolbar.js:70 GetText.add('Pause', '${escape(_("Pause"))}') -// Deluge.Preferences.Proxy.js:184 +// ProxyPage.js:51 GetText.add('Peer', '${escape(_("Peer"))}') -// Deluge.Preferences.Network.js:216 +// NetworkPage.js:212 GetText.add('Peer Exchange', '${escape(_("Peer Exchange"))}') -// Deluge.Preferences.Network.js:185 +// NetworkPage.js:181 GetText.add('Peer TOS Byte', '${escape(_("Peer TOS Byte"))}') -// Deluge.Details.Peers.js:64, Deluge.Torrents.js:148 +// TorrentGrid.js:141, TorrentGrid.js:255, PeersTab.js:61 GetText.add('Peers', '${escape(_("Peers"))}') -// Deluge.Preferences.Bandwidth.js:158 +// BandwidthPage.js:135 GetText.add('Per Torrent Bandwidth Usage', '${escape(_("Per Torrent Bandwidth Usage"))}') -// Deluge.Preferences.Daemon.js:97 +// DaemonPage.js:93 GetText.add('Periodically check the website for new releases', '${escape(_("Periodically check the website for new releases"))}') -// Deluge.Preferences.Plugins.js:164 +// PluginsPage.js:92 GetText.add('Plugin', '${escape(_("Plugin"))}') -// Deluge.Preferences.Plugins.js:71 +// InstallPluginWindow.js:66 GetText.add('Plugin Egg', '${escape(_("Plugin Egg"))}') -// Deluge.Preferences.Plugins.js:113 +// PluginsPage.js:41 GetText.add('Plugins', '${escape(_("Plugins"))}') -// Deluge.ConnectionManager.js:85, Deluge.Preferences.Interface.js:151, Deluge.Preferences.Proxy.js:80, Deluge.Preferences.Daemon.js:53 +// AddConnectionWindow.js:72, ProxyField.js:78, DaemonPage.js:52, InterfacePage.js:147 GetText.add('Port', '${escape(_("Port"))}') -// Deluge.Toolbar.js:92, Deluge.Preferences.js:50 +// QueuePage.js:114 +GetText.add('Prefer Seeding over Downloading', '${escape(_("Prefer Seeding over Downloading"))}') + +// Toolbar.js:94, PreferencesWindow.js:47 GetText.add('Preferences', '${escape(_("Preferences"))}') -// Deluge.Details.Options.js:296 +// OptionsTab.js:308 GetText.add('Prioritize First/Last', '${escape(_("Prioritize First/Last"))}') -// Deluge.Add.js:190 +// OptionsTab.js:153 GetText.add('Prioritize First/Last Pieces', '${escape(_("Prioritize First/Last Pieces"))}') -// Deluge.Preferences.Downloads.js:136 +// DownloadsPage.js:140 GetText.add('Prioritize first and last pieces of torrent', '${escape(_("Prioritize first and last pieces of torrent"))}') -// Deluge.Details.Files.js:67 +// FilesTab.js:61 GetText.add('Priority', '${escape(_("Priority"))}') -// Deluge.Details.Options.js:288 +// OptionsTab.js:300 GetText.add('Private', '${escape(_("Private"))}') -// Deluge.Preferences.Interface.js:173 +// InterfacePage.js:166 GetText.add('Private Key', '${escape(_("Private Key"))}') -// Deluge.Details.Files.js:62, Deluge.Torrents.js:136 +// TorrentGrid.js:128, FilesTab.js:53 GetText.add('Progress', '${escape(_("Progress"))}') -// Deluge.Statusbar.js:46 +// Statusbar.js:200 GetText.add('Protocol Traffic Download/Upload', '${escape(_("Protocol Traffic Download/Upload"))}') -// Deluge.Preferences.Proxy.js:175 +// ProxyPage.js:42 GetText.add('Proxy', '${escape(_("Proxy"))}') -// Deluge.Preferences.Queue.js:39, Deluge.Menus.js:187, Deluge.Details.Options.js:196 +// TorrentGrid.js:213 +GetText.add('Public', '${escape(_("Public"))}') + +// Menus.js:181, OptionsTab.js:196, QueuePage.js:41 GetText.add('Queue', '${escape(_("Queue"))}') -// Deluge.Preferences.Queue.js:63 +// QueuePage.js:62 GetText.add('Queue new torrents to top', '${escape(_("Queue new torrents to top"))}') -// Deluge.Preferences.Bandwidth.js:152 +// BandwidthPage.js:129 GetText.add('Rate limit IP overhead', '${escape(_("Rate limit IP overhead"))}') -// Deluge.Torrents.js:172 +// TorrentGrid.js:166 GetText.add('Ratio', '${escape(_("Ratio"))}') -// Deluge.ConnectionManager.js:229, Deluge.Toolbar.js:58, Deluge.Add.js:450, Deluge.EditTrackers.js:249 +// EditTrackersWindow.js:122, ConnectionManager.js:107, Toolbar.js:64, AddWindow.js:112 GetText.add('Remove', '${escape(_("Remove"))}') -// Deluge.Menus.js:230, Deluge.Remove.js:38, Deluge.Remove.js:55 +// Menus.js:224, RemoveWindow.js:39, RemoveWindow.js:57 GetText.add('Remove Torrent', '${escape(_("Remove Torrent"))}') -// Deluge.Remove.js:54 +// RemoveWindow.js:56 GetText.add('Remove With Data', '${escape(_("Remove With Data"))}') -// Deluge.Details.Options.js:253 +// OptionsTab.js:253 GetText.add('Remove at ratio', '${escape(_("Remove at ratio"))}') -// Deluge.Preferences.Queue.js:209 +// QueuePage.js:198 GetText.add('Remove torrent when share ratio is reached', '${escape(_("Remove torrent when share ratio is reached"))}') -// Deluge.Toolbar.js:72, Deluge.Menus.js:99 +// Menus.js:94, Toolbar.js:76 GetText.add('Resume', '${escape(_("Resume"))}') -// Deluge.EditTrackers.js:117 +// EditTrackerWindow.js:57 GetText.add('Save', '${escape(_("Save"))}') -// Deluge.Preferences.Queue.js:154 +// TorrentGrid.js:200 +GetText.add('Save Path', '${escape(_("Save Path"))}') + +// QueuePage.js:149 GetText.add('Seed Time (m)', '${escape(_("Seed Time (m)"))}') -// Deluge.Torrents.js:142 +// TorrentGrid.js:134, TorrentGrid.js:255 GetText.add('Seeders', '${escape(_("Seeders"))}') -// Deluge.Preferences.Queue.js:123 +// QueuePage.js:120 GetText.add('Seeding', '${escape(_("Seeding"))}') -// Deluge.Add.File.js:66 +// FileWindow.js:66 GetText.add('Select a torrent', '${escape(_("Select a torrent"))}') -// Deluge.Preferences.Plugins.js:70 +// InstallPluginWindow.js:65 GetText.add('Select an egg', '${escape(_("Select an egg"))}') -// Deluge.Preferences.Interface.js:130 +// InterfacePage.js:129 GetText.add('Server', '${escape(_("Server"))}') -// Deluge.Preferences.Interface.js:141 +// InterfacePage.js:140 GetText.add('Session Timeout', '${escape(_("Session Timeout"))}') -// Deluge.Preferences.Cache.js:53, Deluge.Preferences.Encryption.js:53 +// Statusbar.js:96 +GetText.add('Set Maximum Connections', '${escape(_("Set Maximum Connections"))}') + +// Statusbar.js:143 +GetText.add('Set Maximum Download Speed', '${escape(_("Set Maximum Download Speed"))}') + +// Statusbar.js:191 +GetText.add('Set Maximum Upload Speed', '${escape(_("Set Maximum Upload Speed"))}') + +// EncryptionPage.js:51, CachePage.js:52 GetText.add('Settings', '${escape(_("Settings"))}') -// Deluge.Preferences.Queue.js:130 +// QueuePage.js:127 GetText.add('Share Ratio Limit', '${escape(_("Share Ratio Limit"))}') -// Deluge.Preferences.Queue.js:142 +// QueuePage.js:138 GetText.add('Share Time Ratio', '${escape(_("Share Time Ratio"))}') -// Deluge.Preferences.Interface.js:72 +// TorrentGrid.js:220 +GetText.add('Shared', '${escape(_("Shared"))}') + +// InterfacePage.js:71 GetText.add('Show filters with zero torrents', '${escape(_("Show filters with zero torrents"))}') -// Deluge.Preferences.Interface.js:65 +// InterfacePage.js:64 GetText.add('Show session speed in titlebar', '${escape(_("Show session speed in titlebar"))}') -// Deluge.Preferences.Interface.js:79 -GetText.add('Show trackers with zero torrents', '${escape(_("Show trackers with zero torrents"))}') - -// Deluge.Add.js:67, Deluge.Details.Files.js:57, Deluge.Torrents.js:130 +// TorrentGrid.js:122, FilesTab.js:45, FilesTab.js:54 GetText.add('Size', '${escape(_("Size"))}') -// Deluge.Preferences.Proxy.js:58 +// ProxyField.js:56 GetText.add('Socksv4', '${escape(_("Socksv4"))}') -// Deluge.Preferences.Proxy.js:59 +// ProxyField.js:57 GetText.add('Socksv5', '${escape(_("Socksv5"))}') -// Deluge.Preferences.Proxy.js:60 +// ProxyField.js:58 GetText.add('Socksv5 with Auth', '${escape(_("Socksv5 with Auth"))}') -// Deluge.ConnectionManager.js:291 +// ConnectionManager.js:191 GetText.add('Start Daemon', '${escape(_("Start Daemon"))}') -// Deluge.Sidebar.js:37 +// Sidebar.js:34 GetText.add('State', '${escape(_("State"))}') -// Deluge.ConnectionManager.js:186, Deluge.Details.Status.js:35 +// ConnectionManager.js:68, StatusTab.js:39, DetailsTab.js:52 GetText.add('Status', '${escape(_("Status"))}') -// Deluge.ConnectionManager.js:237, Deluge.ConnectionManager.js:297, Deluge.ConnectionManager.js:415 +// ConnectionManager.js:115, ConnectionManager.js:197, ConnectionManager.js:328 GetText.add('Stop Daemon', '${escape(_("Stop Daemon"))}') -// Deluge.Details.Options.js:225 +// OptionsTab.js:225 GetText.add('Stop seed at ratio', '${escape(_("Stop seed at ratio"))}') -// Deluge.Preferences.Queue.js:183 +// QueuePage.js:175 GetText.add('Stop seeding when share ratio reaches:', '${escape(_("Stop seeding when share ratio reaches:"))}') -// Deluge.Preferences.Other.js:69 +// OtherPage.js:72 GetText.add('System Information', '${escape(_("System Information"))}') -// Deluge.Preferences.Network.js:177 +// NetworkPage.js:173 GetText.add('TOS', '${escape(_("TOS"))}') -// Deluge.EditTrackers.js:198 +// EditTrackersWindow.js:76 GetText.add('Tier', '${escape(_("Tier"))}') -// Deluge.Menus.js:192 +// Menus.js:186 GetText.add('Top', '${escape(_("Top"))}') -// Deluge.Preferences.Queue.js:77 +// QueuePage.js:76 GetText.add('Total Active', '${escape(_("Total Active"))}') -// Deluge.Preferences.Queue.js:89 +// QueuePage.js:85 GetText.add('Total Active Downloading', '${escape(_("Total Active Downloading"))}') -// Deluge.Preferences.Queue.js:101 +// QueuePage.js:94 GetText.add('Total Active Seeding', '${escape(_("Total Active Seeding"))}') -// Deluge.Preferences.Proxy.js:196, Deluge.Torrents.js:190, Deluge.EditTrackers.js:126, Deluge.EditTrackers.js:205 +// DetailsTab.js:49 +GetText.add('Total Size', '${escape(_("Total Size"))}') + +// EditTrackersWindow.js:80, TorrentGrid.js:193, EditTrackerWindow.js:66, DetailsTab.js:53, ProxyPage.js:63 GetText.add('Tracker', '${escape(_("Tracker"))}') -// Deluge.Sidebar.js:38 +// Sidebar.js:35 GetText.add('Tracker Host', '${escape(_("Tracker Host"))}') -// Deluge.EditTrackers.js:67 +// AddTrackerWindow.js:66 GetText.add('Trackers', '${escape(_("Trackers"))}') -// Deluge.Preferences.Proxy.js:50 +// ProxyField.js:48 GetText.add('Type', '${escape(_("Type"))}') -// Deluge.Menus.js:127 +// Menus.js:121 GetText.add('U/L Speed Limit', '${escape(_("U/L Speed Limit"))}') -// Deluge.Preferences.Network.js:203 +// NetworkPage.js:199 GetText.add('UPnP', '${escape(_("UPnP"))}') -// Deluge.Menus.js:123, Deluge.Menus.js:141, Deluge.Menus.js:159, Deluge.Menus.js:177, Deluge.Menus.js:295, Deluge.Menus.js:342, Deluge.Menus.js:389 +// OptionsPanel.js:142 +GetText.add('Unable to set file priority!', '${escape(_("Unable to set file priority!"))}') + +// Statusbar.js:85, Statusbar.js:133, Statusbar.js:181, Menus.js:117, Menus.js:135, Menus.js:153, Menus.js:171 GetText.add('Unlimited', '${escape(_("Unlimited"))}') -// Deluge.Toolbar.js:79, Deluge.Menus.js:198, Deluge.EditTrackers.js:225 +// EditTrackersWindow.js:102, Menus.js:192, Toolbar.js:83, FileBrowser.js:53 GetText.add('Up', '${escape(_("Up"))}') -// Deluge.Torrents.js:160 +// TorrentGrid.js:248 +GetText.add('Up Limit', '${escape(_("Up Limit"))}') + +// TorrentGrid.js:154 GetText.add('Up Speed', '${escape(_("Up Speed"))}') -// Deluge.Menus.js:218 +// Menus.js:212 GetText.add('Update Tracker', '${escape(_("Update Tracker"))}') -// Deluge.Preferences.Other.js:53 +// OtherPage.js:56 GetText.add('Updates', '${escape(_("Updates"))}') -// Deluge.Menus.js:163 +// Menus.js:157 GetText.add('Upload Slot Limit', '${escape(_("Upload Slot Limit"))}') -// Deluge.Statusbar.js:39 +// Statusbar.js:152 GetText.add('Upload Speed', '${escape(_("Upload Speed"))}') -// Deluge.Preferences.Plugins.js:83 +// TorrentGrid.js:234 +GetText.add('Uploaded', '${escape(_("Uploaded"))}') + +// InstallPluginWindow.js:78 GetText.add('Uploading your plugin...', '${escape(_("Uploading your plugin..."))}') -// Deluge.Add.File.js:81 +// FileWindow.js:82 GetText.add('Uploading your torrent...', '${escape(_("Uploading your torrent..."))}') -// Deluge.Add.Url.js:65, Deluge.Add.js:437 +// UrlWindow.js:60, AddWindow.js:102 GetText.add('Url', '${escape(_("Url"))}') -// Deluge.Preferences.Downloads.js:117 +// DownloadsPage.js:121 GetText.add('Use Compact', '${escape(_("Use Compact"))}') -// Deluge.Preferences.Downloads.js:114 +// DownloadsPage.js:118 GetText.add('Use Full', '${escape(_("Use Full"))}') -// Deluge.Preferences.Network.js:62, Deluge.Preferences.Network.js:117 +// NetworkPage.js:60, NetworkPage.js:113 GetText.add('Use Random Ports', '${escape(_("Use Random Ports"))}') -// Deluge.Preferences.Interface.js:165 +// InterfacePage.js:158 GetText.add('Use SSL (paths relative to Deluge config folder)', '${escape(_("Use SSL (paths relative to Deluge config folder)"))}') -// Deluge.ConnectionManager.js:101, Deluge.Preferences.Proxy.js:93 +// AddConnectionWindow.js:83, ProxyField.js:88 GetText.add('Username', '${escape(_("Username"))}') -// Deluge.ConnectionManager.js:199 +// ConnectionManager.js:80 GetText.add('Version', '${escape(_("Version"))}') -// Deluge.Preferences.Proxy.js:190 +// ProxyPage.js:57 GetText.add('Web Seed', '${escape(_("Web Seed"))}') -// Deluge.Preferences.Other.js:87 +// OtherPage.js:90 GetText.add('Yes, please send anonymous statistics', '${escape(_("Yes, please send anonymous statistics"))}') -// Deluge.Login.js:140 +// LoginWindow.js:128 GetText.add('You entered an incorrect password', '${escape(_("You entered an incorrect password"))}') -// Deluge.Preferences.Interface.js:218 +// InterfacePage.js:215 GetText.add('Your old password was incorrect!', '${escape(_("Your old password was incorrect!"))}') -// Deluge.Preferences.Interface.js:228 +// InterfacePage.js:225 GetText.add('Your password was successfully changed!', '${escape(_("Your password was successfully changed!"))}') -// Deluge.Preferences.Interface.js:203 +// InterfacePage.js:200 GetText.add('Your passwords don\'t match!', '${escape(_("Your passwords don\'t match!"))}') -