From 4b37c0c5832d20f5eefcf29fbf1585a223c62287 Mon Sep 17 00:00:00 2001 From: Denis Fomin Date: Sat, 3 Sep 2011 09:59:36 +0300 Subject: [PATCH] add translatable description --- chatstate/chatstate.py | 4 + clickable_nicknames/clickable_nicknames.py | 2 + clients_icons/clients_icons.py | 7 +- flashing_keyboard/flashing_keyboard.py | 1 + gnome_session_manager/plugin.py | 1 + gotr/otrmodule.py | 5 +- image/image.py | 5 + juick/manifest.ini | 2 +- juick/plugin.py | 4 + now_listen/manifest.ini | 3 +- now_listen/now_listen.py | 2 + plagins_translations/manifest.ini | 2 +- plagins_translations/plagins_translations.pot | 264 ++++++++++++++---- plagins_translations/plagins_translations.py | 2 + plagins_translations/ru.mo | Bin 10814 -> 16792 bytes roster_tweaks/roster_tweaks.py | 5 + set_location/set_location.py | 4 + ubuntu_integration/plugin.py | 6 + wrong_layout/plugin.py | 38 +-- 19 files changed, 264 insertions(+), 93 deletions(-) diff --git a/chatstate/chatstate.py b/chatstate/chatstate.py index be0c7d6..159a627 100644 --- a/chatstate/chatstate.py +++ b/chatstate/chatstate.py @@ -15,6 +15,10 @@ class ChatstatePlugin(GajimPlugin): @log_calls('ChatstatePlugin') def init(self): + self.description = _('Chat State Notifications in roster.' +'Font color of the contact varies depending on the chat state.\n' +'The plugin does not work if you use custom font color for contacts in roster.\n' +'http://trac.gajim.org/ticket/3628.\nhttp://xmpp.org/extensions/xep-0085.html') self.config_dialog = None # ChatstatePluginConfigDialog(self) self.events_handlers = {'chatstate-received': (ged.GUI2, self.chatstate_received), } diff --git a/clickable_nicknames/clickable_nicknames.py b/clickable_nicknames/clickable_nicknames.py index 8d48a70..aa61446 100644 --- a/clickable_nicknames/clickable_nicknames.py +++ b/clickable_nicknames/clickable_nicknames.py @@ -13,6 +13,8 @@ class ClickableNicknames(GajimPlugin): @log_calls('ClickableNicknamesPlugin') def init(self): + self.description = _('Clickable nicknames ' + 'in the conversation textview.') self.config_dialog = None # ClickableNicknamesPluginConfigDialog(self) self.gui_extension_points = { 'chat_control_base': (self.connect_with_chat_control, diff --git a/clients_icons/clients_icons.py b/clients_icons/clients_icons.py index 528f23c..ae9eeef 100644 --- a/clients_icons/clients_icons.py +++ b/clients_icons/clients_icons.py @@ -131,10 +131,11 @@ clients = { class ClientsIconsPlugin(GajimPlugin): - description = _('Shows the client icons in the roster') @log_calls('ClientsIconsPlugin') def init(self): + self.description = _('Shows the client icons in the roster' + ' and in groupchats.\nDepends: Gajim > r12506') self.pos_list = [_('after statusicon'), _('before avatar')] self.events_handlers = {'presence-received': (ged.POSTGUI, self.presence_received), @@ -168,8 +169,10 @@ class ClientsIconsPlugin(GajimPlugin): return if roster.model[child_iters[0]][self.renderer_num] is None: caps = contact.client_caps._node - if not caps and jid == 'juick@juick.com': + if jid == 'juick@juick.com': caps = 'http://juick.com/caps' + elif jid == 'psto@psto.net': + caps = 'psto@psto.net' self.set_icon(roster.model, child_iters[0], self.renderer_num, caps) diff --git a/flashing_keyboard/flashing_keyboard.py b/flashing_keyboard/flashing_keyboard.py index f9aad45..3681910 100644 --- a/flashing_keyboard/flashing_keyboard.py +++ b/flashing_keyboard/flashing_keyboard.py @@ -13,6 +13,7 @@ from plugins.gui import GajimPluginConfigDialog class FlashingKeyboard(GajimPlugin): @log_calls('FlashingKeyboard') def init(self): + self.description = _('Flashing keyboard led if there is unread messages') self.config_dialog = FlashingKeyboardPluginConfigDialog(self) self.config_default_values = { 'command1': ("xset led named 'Scroll Lock'", ''), diff --git a/gnome_session_manager/plugin.py b/gnome_session_manager/plugin.py index 34f80e0..5f163e9 100644 --- a/gnome_session_manager/plugin.py +++ b/gnome_session_manager/plugin.py @@ -32,6 +32,7 @@ class GnomeSessionManagerPlugin(GajimPlugin): @log_calls('GnomeSessionManagerPlugin') def init(self): + self.description = _('Set and react on GNOME Session presence settings') self.config_dialog = None self.events_handlers = {} diff --git a/gotr/otrmodule.py b/gotr/otrmodule.py index dbbd997..a82ddcf 100644 --- a/gotr/otrmodule.py +++ b/gotr/otrmodule.py @@ -40,7 +40,7 @@ DEFAULTFLAGS = { 'SEND_TAG':True, 'WHITESPACE_START_AKE':True, 'ERROR_START_AKE':True, - } + } MMS = 1024 PROTOCOL = 'xmpp' @@ -174,7 +174,7 @@ class GajimOtrAccount(potr.context.Account): def loadTrusts(self, newCtxCb=None): ''' load the fingerprint trustdb ''' - # it has the same format as libotr, therefore the + # it has the same format as libotr, therefore the # redundant account / proto field try: with open(self.keyFilePath + '.fpr', 'r') as fprFile: @@ -210,6 +210,7 @@ class OtrPlugin(GajimPlugin): otr = None def init(self): + self.description = _('See http://www.cypherpunks.ca/otr/') self.us = {} self.config_dialog = ui.OtrPluginConfigDialog(self) self.events_handlers = {} diff --git a/image/image.py b/image/image.py index 7a86d7e..5fc4c1a 100644 --- a/image/image.py +++ b/image/image.py @@ -14,6 +14,11 @@ from dialogs import ImageChooserDialog, ErrorDialog class ImagePlugin(GajimPlugin): @log_calls('ImagePlugin') def init(self): + self.description = _('This plugin is designed to send ' + 'a small(0 - 40 kb) graphic image to your contact.\n' + 'Client on the other side must support XEP-0071: XHTML-IM' + ' and maintain the scheme data: URI.\n' + 'Psi+ and Jabbim supported this.') self.config_dialog = None # ImagePluginConfigDialog(self) self.controls = [] self.gui_extension_points = { diff --git a/juick/manifest.ini b/juick/manifest.ini index 5f67459..87ddb82 100644 --- a/juick/manifest.ini +++ b/juick/manifest.ini @@ -3,7 +3,7 @@ name: Juick short_name: Juick version: 0.2 description: Clickable juick links , juick nics, preview juick picturs. - The key combination alt + up in the textbox allow insert the number of last message (comment or topic). + The key combination alt + up in the textbox allow insert the number of last message (comment or topic). authors: Denis Fomin , evgen homepage: http://trac-plugins.gajim.org/wiki/JuickPlugin diff --git a/juick/plugin.py b/juick/plugin.py index 4a1246c..6b48d50 100644 --- a/juick/plugin.py +++ b/juick/plugin.py @@ -23,6 +23,10 @@ import common.xmpp class JuickPlugin(GajimPlugin): @log_calls('JuickPlugin') def init(self): + self.description = _('Clickable juick links , juick nics, ' + 'preview juick picturs.\nThe key combination alt + up in the ' + 'textbox allow insert the number of last message ' + '(comment or topic).') self.config_dialog = JuickPluginConfigDialog(self) self.gui_extension_points = { 'chat_control_base': (self.connect_with_chat_control, diff --git a/now_listen/manifest.ini b/now_listen/manifest.ini index d437469..2dc3f87 100644 --- a/now_listen/manifest.ini +++ b/now_listen/manifest.ini @@ -2,7 +2,6 @@ name: Now Listen short_name: now-listen version: 0.1 -description: Copy tune info to conversation input box (alt + n), - at cursor position +description: Copy tune info to conversation input box (alt + n) at cursor position authors = Denis Fomin homepage = http://trac-plugins.gajim.org/wiki diff --git a/now_listen/now_listen.py b/now_listen/now_listen.py index d5251f8..87add8a 100644 --- a/now_listen/now_listen.py +++ b/now_listen/now_listen.py @@ -17,6 +17,8 @@ class NowListenPlugin(GajimPlugin): @log_calls('NowListenPlugin') def init(self): + self.description = _('Copy tune info to conversation input box ' + '(alt + n) at cursor position') self.config_dialog = NowListenPluginConfigDialog(self) self.gui_extension_points = {'chat_control_base': (self.connect_with_chat_control, self.disconnect_from_chat_control)} diff --git a/plagins_translations/manifest.ini b/plagins_translations/manifest.ini index 027f8be..b641d2a 100644 --- a/plagins_translations/manifest.ini +++ b/plagins_translations/manifest.ini @@ -1,7 +1,7 @@ [info] name: Plagins translations short_name: plagins_translations -version: 0.1 +version: 0.2 description: This plugin contains translations files for Gajim plugins authors = Denis Fomin homepage = http://trac-plugins.gajim.org/wiki/ diff --git a/plagins_translations/plagins_translations.pot b/plagins_translations/plagins_translations.pot index 011aeed..e62e282 100644 --- a/plagins_translations/plagins_translations.pot +++ b/plagins_translations/plagins_translations.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-09-02 22:48+0400\n" +"POT-Creation-Date: 2011-09-03 10:08+0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,175 +17,243 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: community_plugins/clients_icons/clients_icons.py:134 -msgid "Shows the client icons in the roster" +#: community_plugins/now_listen/now_listen.py:20 +msgid "" +"Copy tune info to conversation input box (alt + n),\n" +"at cursor position" msgstr "" -#: community_plugins/clients_icons/clients_icons.py:138 +#: community_plugins/clients_icons/clients_icons.py:137 +msgid "" +"Shows the client icons in the roster and in groupchats.\n" +"Depends: Gajim > r12506" +msgstr "" + +#: community_plugins/clients_icons/clients_icons.py:139 msgid "after statusicon" msgstr "" -#: community_plugins/clients_icons/clients_icons.py:138 +#: community_plugins/clients_icons/clients_icons.py:139 msgid "before avatar" msgstr "" -#: community_plugins/image/image.py:45 +#: community_plugins/image/image.py:17 +msgid "" +"This plugin is designed to send a small(0 - 40 kb) graphic image to your " +"contact.\n" +"Client on the other side must support XEP-0071: XHTML-IM and maintain the " +"scheme data: URI.\n" +"Psi+ and Jabbim supported this." +msgstr "" + +#: community_plugins/image/image.py:50 msgid "This contact does not support XHTML_IM" msgstr "" -#: community_plugins/image/image.py:47 +#: community_plugins/image/image.py:52 msgid "Send image" msgstr "" -#: community_plugins/image/image.py:81 +#: community_plugins/image/image.py:86 msgid "File is empty" msgstr "" -#: community_plugins/image/image.py:84 +#: community_plugins/image/image.py:89 msgid "File does not exist" msgstr "" -#: community_plugins/image/image.py:90 community_plugins/image/image.py:93 +#: community_plugins/image/image.py:95 community_plugins/image/image.py:98 msgid "File too big" msgstr "" -#: community_plugins/image/image.py:95 +#: community_plugins/image/image.py:100 msgid "Could not load image" msgstr "" -#: community_plugins/set_location/set_location.py:137 +#: community_plugins/chatstate/chatstate.py:18 +msgid "" +"Chat State Notifications in roster.Font color of the contact varies " +"depending on the chat state.\n" +"The plugin does not work if you use custom font color for contacts in " +"roster.\n" +"http://trac.gajim.org/ticket/3628.\n" +"http://xmpp.org/extensions/xep-0085.html" +msgstr "" + +#: community_plugins/ubuntu_integration/plugin.py:51 +msgid "" +"This plugin integrates Gajim with the Ubuntu Messaging Menu.\n" +"\n" +"You must have python-indicate and python-xdg (and Gajim obviously) installed " +"to enable this plugin.\n" +"\n" +"Many thanks to the guys from gajim@conference.gajim.org for answering my " +"questions :)" +msgstr "" + +#: community_plugins/plagins_translations/plagins_translations.py:17 +msgid "This plugin contains translations files for Gajim plugins" +msgstr "" + +#: community_plugins/set_location/set_location.py:29 +msgid "" +"Set information about the current geographical or physical location.\n" +"To be able to specify a location on the built-in card, you must install " +"python-osmgpsmap > 0.5" +msgstr "" + +#: community_plugins/set_location/set_location.py:141 msgid "" "Click the right mouse button to specify the location, \n" "middle mouse button to show / hide the contacts on the map" msgstr "" -#: community_plugins/set_location/set_location.py:222 +#: community_plugins/set_location/set_location.py:226 msgid "Save as Preset" msgstr "" -#: community_plugins/set_location/set_location.py:222 +#: community_plugins/set_location/set_location.py:226 msgid "Please type a name for this preset" msgstr "" -#: community_plugins/wrong_layout/plugin.py:22 +#: community_plugins/roster_tweaks/roster_tweaks.py:21 +msgid "" +"Allows user to tweak roster window appearance (eg. make it compact).\n" +"Based on ticket #3340:\n" +"http://trac.gajim.org/ticket/3340.\n" +"Added ability to quickly change the status message to all connected accounts." +msgstr "" + +#: community_plugins/wrong_layout/plugin.py:15 msgid "Press alt+r to convert chars typed in wrong layout Rus<>Eng" msgstr "" -#: community_plugins/juick/plugin.py:31 +#: community_plugins/clickable_nicknames/clickable_nicknames.py:16 +msgid "Clickable nicknames in the conversation textview." +msgstr "" + +#: community_plugins/juick/plugin.py:26 +msgid "" +"Clickable juick links , juick nics, preview juick picturs.\n" +"The key combination alt + up in the textbox allow insert the number of last " +"message (comment or topic)." +msgstr "" + +#: community_plugins/juick/plugin.py:35 msgid "Avatar size(10-32)" msgstr "" -#: community_plugins/juick/plugin.py:33 +#: community_plugins/juick/plugin.py:37 #: community_plugins/juick/config_dialog.ui.h:5 msgid "Preview size(10-512)" msgstr "" -#: community_plugins/juick/plugin.py:34 +#: community_plugins/juick/plugin.py:38 #: community_plugins/juick/config_dialog.ui.h:2 msgid "Juick link color" msgstr "" -#: community_plugins/juick/plugin.py:191 +#: community_plugins/juick/plugin.py:195 msgid "Reply to message" msgstr "" -#: community_plugins/juick/plugin.py:195 +#: community_plugins/juick/plugin.py:199 msgid "Unsubscribe from comments" msgstr "" -#: community_plugins/juick/plugin.py:196 +#: community_plugins/juick/plugin.py:200 msgid "Subscribe to message replies" msgstr "" -#: community_plugins/juick/plugin.py:197 +#: community_plugins/juick/plugin.py:201 msgid "Recommend post" msgstr "" -#: community_plugins/juick/plugin.py:198 +#: community_plugins/juick/plugin.py:202 msgid "Show message with replies" msgstr "" -#: community_plugins/juick/plugin.py:199 +#: community_plugins/juick/plugin.py:203 msgid "Delete post" msgstr "" -#: community_plugins/juick/plugin.py:205 +#: community_plugins/juick/plugin.py:209 msgid "Open in browser" msgstr "" -#: community_plugins/juick/plugin.py:209 +#: community_plugins/juick/plugin.py:213 msgid "Show user's info" msgstr "" -#: community_plugins/juick/plugin.py:210 +#: community_plugins/juick/plugin.py:214 msgid "Show user's info and last 10 messages" msgstr "" -#: community_plugins/juick/plugin.py:211 +#: community_plugins/juick/plugin.py:215 msgid "Subscribe to user's blog" msgstr "" -#: community_plugins/juick/plugin.py:212 +#: community_plugins/juick/plugin.py:216 msgid "Unsubscribe from user's blog" msgstr "" -#: community_plugins/juick/plugin.py:213 +#: community_plugins/juick/plugin.py:217 msgid "Add/delete user to/from your blacklist" msgstr "" -#: community_plugins/juick/plugin.py:219 +#: community_plugins/juick/plugin.py:223 msgid "Send personal message" msgstr "" -#: community_plugins/juick/plugin.py:465 +#: community_plugins/juick/plugin.py:469 msgid "Show last messages from public timeline" msgstr "" -#: community_plugins/juick/plugin.py:466 +#: community_plugins/juick/plugin.py:470 msgid "Show last messages from your feed" msgstr "" -#: community_plugins/juick/plugin.py:467 +#: community_plugins/juick/plugin.py:471 msgid "Show popular personal blogs" msgstr "" -#: community_plugins/juick/plugin.py:468 +#: community_plugins/juick/plugin.py:472 msgid "Show your tags" msgstr "" -#: community_plugins/juick/plugin.py:469 +#: community_plugins/juick/plugin.py:473 msgid "Show your subscriptions" msgstr "" -#: community_plugins/juick/plugin.py:470 +#: community_plugins/juick/plugin.py:474 msgid "Delete last message" msgstr "" -#: community_plugins/juick/plugin.py:471 +#: community_plugins/juick/plugin.py:475 msgid "Enable subscriptions delivery" msgstr "" -#: community_plugins/juick/plugin.py:472 +#: community_plugins/juick/plugin.py:476 msgid "Disable subscriptions delivery" msgstr "" -#: community_plugins/juick/plugin.py:473 +#: community_plugins/juick/plugin.py:477 msgid "Show your blacklist" msgstr "" -#: community_plugins/juick/plugin.py:474 +#: community_plugins/juick/plugin.py:478 msgid "Update \"About\" info from Jabber vCard" msgstr "" -#: community_plugins/juick/plugin.py:475 +#: community_plugins/juick/plugin.py:479 msgid "Ping" msgstr "" -#: community_plugins/juick/plugin.py:476 +#: community_plugins/juick/plugin.py:480 msgid "Login" msgstr "" -#: community_plugins/juick/plugin.py:477 +#: community_plugins/juick/plugin.py:481 msgid "HELP" msgstr "" @@ -215,30 +283,34 @@ msgstr "" msgid "Private conversation with %s lost." msgstr "" -#: community_plugins/gotr/otrmodule.py:460 +#: community_plugins/gotr/otrmodule.py:213 +msgid "See http://www.cypherpunks.ca/otr/" +msgstr "" + +#: community_plugins/gotr/otrmodule.py:461 #, python-format msgid "The following message received from %s was *not encrypted*: [%s]" msgstr "" -#: community_plugins/gotr/otrmodule.py:463 +#: community_plugins/gotr/otrmodule.py:464 #, python-format msgid "" "The encrypted message received from %s is unreadable, as you are not " "currently communicating privately" msgstr "" -#: community_plugins/gotr/otrmodule.py:468 +#: community_plugins/gotr/otrmodule.py:469 #, python-format msgid "We received the following OTR error message from %s: [%s]" msgstr "" -#: community_plugins/gotr/otrmodule.py:473 +#: community_plugins/gotr/otrmodule.py:474 #, python-format msgid "" "The following error occurred when trying to decrypt a message from %s: [%s]" msgstr "" -#: community_plugins/gotr/otrmodule.py:516 +#: community_plugins/gotr/otrmodule.py:517 msgid "" "Your message was not send. Either end your private conversation, or restart " "it" @@ -316,65 +388,133 @@ msgstr "" msgid "unknown" msgstr "" -#: triggers/triggers.py:268 +#: community_plugins/flashing_keyboard/flashing_keyboard.py:16 +msgid "Flashing keyboard led if there is unread messages" +msgstr "" + +#: community_plugins/gnome_session_manager/plugin.py:35 +msgid "Set and react on GNOME Session presence settings" +msgstr "" + +#: events_dump/plugin.py:39 +msgid "Dumps info about selected events to console." +msgstr "" + +#: acronyms_expander/acronyms_expander.py:39 +msgid "Replaces acronyms (or other strings) with given expansions/substitutes." +msgstr "" + +#: triggers/triggers.py:37 +msgid "Configure Gajim's behaviour for each contact" +msgstr "" + +#: triggers/triggers.py:269 msgid "#" msgstr "" -#: triggers/triggers.py:274 +#: triggers/triggers.py:275 msgid "Condition" msgstr "" -#: triggers/triggers.py:387 +#: triggers/triggers.py:388 msgid "when I am " msgstr "" -#: plugin_installer/plugin_installer.py:102 +#: plugin_installer/plugin_installer.py:44 +msgid "Install and upgrade plugins from ftp" +msgstr "" + +#: plugin_installer/plugin_installer.py:103 msgid "Plugin" msgstr "" -#: plugin_installer/plugin_installer.py:107 +#: plugin_installer/plugin_installer.py:108 msgid "" "Installed\n" "version" msgstr "" -#: plugin_installer/plugin_installer.py:109 +#: plugin_installer/plugin_installer.py:110 msgid "" "Available\n" "version" msgstr "" -#: plugin_installer/plugin_installer.py:116 +#: plugin_installer/plugin_installer.py:117 msgid "" "Install /\n" "Upgrade" msgstr "" -#: banner_tweaks/plugin.py:107 +#: dbus_plugin/plugin.py:691 +msgid "" +"D-Bus support. Based on remote_control module from\n" +"Gajim core but uses new events handling system." +msgstr "" + +#: new_events_example/plugin.py:44 +msgid "" +"Shows how to generate new network events based on existing one using Network " +"Events Controller." +msgstr "" + +#: banner_tweaks/plugin.py:48 +msgid "" +"Allows user to tweak chat window banner appearance (eg. make it compact).\n" +"Based on patch by pb in ticket #4133:\n" +"http://trac.gajim.org/attachment/ticket/4133." +msgstr "" + +#: banner_tweaks/plugin.py:111 #, python-format msgid "%(nickname)s from group chat %(room_name)s" msgstr "" -#: whiteboard/plugin.py:153 +#: snarl_notifications/plugin.py:44 +msgid "" +"Shows events notification using Snarl (http://www.fullphat.net/) under " +"Windows. Snarl needs to be installed in system.\n" +"PySnarl bindings are used (http://code.google.com/p/pysnarl/)." +msgstr "" + +#: google_translation/plugin.py:47 +msgid "Translates (currently only incoming)messages using Google Translate." +msgstr "" + +#: length_notifier/length_notifier.py:39 +msgid "" +"Highlights message entry field in chat window when given length of message " +"is exceeded." +msgstr "" + +#: roster_buttons/plugin.py:39 +msgid "Adds quick action buttons to roster window." +msgstr "" + +#: whiteboard/plugin.py:55 +msgid "Shows a whiteboard in chat. python-pygoocanvas is required." +msgstr "" + +#: whiteboard/plugin.py:155 msgid "Incoming Whiteboard" msgstr "" -#: whiteboard/plugin.py:154 +#: whiteboard/plugin.py:156 #, python-format msgid "" "%(name)s (%(jid)s) wants to start a whiteboard with you. Do you want to " "accept?" msgstr "" -#: whiteboard/plugin.py:204 +#: whiteboard/plugin.py:206 msgid "Invalid Jabber ID" msgstr "" -#: whiteboard/plugin.py:205 +#: whiteboard/plugin.py:207 msgid "A message from a non-valid JID arrived, it has been ignored." msgstr "" -#: whiteboard/plugin.py:344 +#: whiteboard/plugin.py:346 #, python-format msgid "Whiteboard stopped: %(reason)s" msgstr "" diff --git a/plagins_translations/plagins_translations.py b/plagins_translations/plagins_translations.py index 597f3e5..579df2f 100644 --- a/plagins_translations/plagins_translations.py +++ b/plagins_translations/plagins_translations.py @@ -14,6 +14,8 @@ class PlaginsTranslationsPlugin(GajimPlugin): @log_calls('PlaginsTranslationsPlugin') def init(self): + self.description = _('This plugin contains translations files ' + 'for Gajim plugins') self.config_dialog = None self.config_default_values = {'last_version': '0'} self.locale_dir = os.path.join(gajim.PLUGINS_DIRS[1], 'locale') diff --git a/plagins_translations/ru.mo b/plagins_translations/ru.mo index 208ea2e87ebf164103a83517bffc887937af1590..7df5e9df0627c03fd20ca0622d6b5d18e7623a8c 100644 GIT binary patch literal 16792 zcmeI2d5~O3eaD-C175&jFo%gT&)5bDX=Yc455~r^tOLtP_M*c!1Y_oSJ3H3Qyzv}b zEhI$J;sb1KFis!_*?&Bw2^SMJoRoGE-EMf>gOkQn->7l~jsU0)$lZ`Tn}! z%;B!pU-z45U-hCtaD0BBb^-0Y7diJ;@MSOI51+4(IJX-726ztm zAK(?>3t#Ho4d7Mao4~ul_28Gm4EQf#4t)K~oQuHipvJX9-G3O|1U?PE1w8xZ&aD8) zzysj>z-Pdph5o;0an1i@P^4Y)3g^xRuLW7kZ3ABgz90MvJP&*e4;R3zz*mEhf|~ab2np^q2&wKF@Ivr=pyv4r_(t$j9@2B``J?f- zfEpizTDJ*GeqRDL?_m&8yQe^{|4r}~@O$9d;3_&H&0Pgv0&WFi$u&d&eh`-2!=UK- zWAGyIo8VdCbK&|&pq@MDHGaJd!8db#G5DL{Ch*1JR`4otCn&l<3G%3W6cpWuL9O?6 zxc&|(KK=pJeE$k!8t&ZJI>%Rc0r)t$8kF9@3%(xw&v5;U*ZJ|Ip!##5*4qxg0h|Oi z&kXoh@Q*<8_YLrT@E^h70{;gT|K~G_=(`fU6x<9VN|%5PaWkO!_$(+s{|uZ3p960P zKgXmufj^#Ppyd8H;8o!0#f$}afyEav$0g3ai|fBcc)P%# zfs)Sz!e?pM1`)M;7-R}}5d0bV9q>osw=tRvndihZPtW%uVjKOJzRkH$fP26z!LwKR z_;4Ng4z7O)%3dyB>E(D8C_lUbyc~QVcpLaBa4q=nAf&ptWc;{yfuiR&@V($(5SHBE zh5P>tZs7XdtdD;;gLiR#0Mv6Ak9vFG1a9ZL4#K*7I`sb&D864g=Gi*jBc8^Gtdehj<^yqiU5 zz;mwldVC0cE!RguMB=^;z6%twlJ^$y7H~g!7IOPOsC9n;(XxXZf7{2g7AX1M3vL1b z0>m`kPr;Xi(Y4+`v!L{u1J4C-26cZDJP+Irs{cOlZ14c6`(FVga29+8_+3zO@;OlV z&p{~azW~HU-AeGK;CsM}z&Kpr1HOpsPk}E0+cZRG^*{n%ODoaR&mDY`AKw%@VBbEC zfUSVHfp4O1q{$98(9+L#zSL=wFYadg0gTR9>Pz_S0#U1*q`g1%38a77us%1?rfKh? zT}0C-Q#NxdA^^R;;7(tNXBX|?I|U+Ab7IyGGj-PMI_ zw#4PQUdmlPTDZooi*|0?93@R)OVmgz^>&4s+DTNYPbAG+zFkS`QNECL+EIHlj;cw~ zx_FK+#mP**T8-jrT#M@(kZ;r7Xm^@%E6UfWql9Og&ts~j6i1y_T#8r|Dq8J)H7do` z%I>&1%~D#mT4_&5QI6pL|n6EWDEsd(jmGWdEX-+0d$wtFOzM84#>*Y?q9NXhY9b-#ztJthGOf<>F ze7Q6v_hP4-Z$=Z69lYxE_{IDzlY(A|Dl-NvkE*ir}ea&SNdNu2dRD-f`R1&_s5l6HQ2) zPCCt~P|X*2RS~s@wW2#amEx`_Uo`d$opw8^w`4FZ&_>x)m3k?e%DQ#cYBJT5Ry7@K z#`#@QQ5NDyM1_34&b@r25$BuvdNGcc#pP^N%kPS#3U-v#8Z5FrJ91rKmVpc!vbd-) z9W@G)0aD(DKrUXpYR#J5$Yi_S$c>I-55;Ube@CU3O`7G=e7l`5PRcq*{qRwZUV^$g z9Q-nbrIf5$vvzDLO2YCQk{v;iGR8v1tQzr{P^;4tP#tTNtKkG~Y_k@(S~5Te$=8Yr zQY*Igbg`Ip>g|@8Aq;eIA%s#xhfU1Ckl++(z7V5^sD;&6q{=Qf!k*(~fG1Xz~6d<$AB5wh?KRT^Wtk zDy0$;e!=KTv^pA1R?xcU>{E}M=(?6~_!Xs{=niw)YNfub6|D?c^-8g|GHNvA-IaJM z^ff9)!d}aZaaW8vCbdGvn*`R^j#fmShPfU~v|+W7?2%PMOQnvZ`y5g4)CxE@+N00IFeDBeb`!}lP8k;M5RoEiQXwEe`^a1pUm&B zC{Rg_G47s9gTW01+NsMkCWt|a?hIzF)ElHV@vzJ@S6?0}gCPQDA`Mj(-S;BStV3Ks#!eDPo_< z9>2tmBRs!^ipo)Inm}61x(z-c4+}BvQ;O_=C)vij>L;a~+fZql;#-|UzgM0UGU|p- ztsy}p6Q9~!EM-9@(BdW4N~&?zZLFVZs!bKx>$_UKM`^5&o2&{^_T#af+th9l&6+4N=dRzlW!zma z7YMOZ=9-{SI?Iz)x!E9oBID+CG*OAsCDCCx6HQIV^{7l0QHPp(xjiY{P0dz(>?y`E z0XyriPik=k_2=B?I%^V-M@M!x%FTQ!?)RWZyu|uKC~BGhqltDS9W*-cp}5qKpf~h= z6;mM!I^WUGm(yT@6Lq4*$`4}j7Ca;k{v`^Bnw3svYK2yGBepr|wj_i@{?^M&4%~>N zx|@ir5>25=;*Ohc9D%#>YE1f#+S84gDncG=Zbli_Qt*)Fja$5R<93xZBmq_1D=hJQ zkHf1b^W-JXWAdMBs$#9?3CitgTc>sPH5;{B2uGGbhA)&rE?Y$g*%tdSQnE6U%LZ8! za}DZp+wOW77zifCqx5sf5s)VVjscdn&L2=sX5EQe;{Aki{j=Jq+mf+y_wLt_* z>PWOdJq5?&l`&DHsUo->C+NO0NouPq0XHV6TlPH->O@z30U{Ndp*#)zWav;_tJYBn zRL$7V$XIcdm6pG1@57#qEt5$Bbi1^Vp(OC8}w_Uj*?~^ZvtXL7{EoC!t zb$a-|Mccqz%ipM=FjFxlCbFrkiY`_wur|1#8+^4H%2c2YdDPGxcEjg%KiVfDpJGVT zUem+31}5%%hXY@5p+=`b8m0295z6ZElH;syoxo}Rh}4(0ePE~1fSo{TBWYNr-dA*? znv}ymtI0C3rHU*>7>gf%QdPF3A6dhK4(f9vo3h`kvD9|Ltn*50Qqjj9 zQEh6bCM)gO2hI@0vQaRD#&kKsfa<%kew?!zLw{32OG^;Me3qdg>X%)lAcf-X^?b7$ zEgN!;iB7fJK%Loo+#X$y8I;K9w^(7{%7*cEq-%9QrW_2?dv-`)BjeM4VhRXVYfw*s zM`)$~Qbo3XS%@x^X7K9K#%N=@C1OS?4LsE{WqgGFYRpED@|1iDQC89gjtc4az><#` zN=W#gwHw3Gjh^}SJ}Xz_W;(xB8fM**4Bw1aePJsgH6rJMeP>5DSozt?`T7HwYpz;- z+1TZ7yHB-9V-Sr7wl;h-7>+E>?O?6V+i!~2th)Si?aMOk!L*CA(w=-J5!s+ngpsO{ zqA1iX(z68(41I?pGAvlB+)v1%K#6X>e#h1=w{PC+hlL8+Mx(okO;f#94W;-5869^c zboqkC4{ptQlBL)LSITv?sSu{H$qtp=Q(ZR3QN!A?Xjfr5aqpw(%^GswmZ#D0#N=@`4sI1!&SccVQA#{^S6dzGI#)us)PXl8xrgxg9M*SzVZf89>En2tz zvd>L~!3B4QmAg!)bvjmgvqcd9xM)SIyVn!%-A>Z(`Zk`qVyi@_Qh&51e^CB+ z`3aeck4my!N5aiHTr8h+g&6ITU@Qf=^yDGuf>HIq$hdND=rkke?8GAHum%2vQx|=! z=bV-$_|&Wj$T@#X`n!f+1e^sO4QrsR%S<%i$=z8+L2igr>f2~8xUnKT0ORE zRc7q%nXxrQ+}vejE5_E2jWIB@js1X0%bo zgs<|&QQUsV&K;XFR}RL>MknHCW+N7<7@CW&EL7Sfw`RtZxKwFp1`AU`wJQ1g$lye< zd#Zb|d$fCqzo)v#y0b$EgWY4jech+Jr@JR~tGB;9+da{{e{fL9BV2c%V8ltC7j{3( zh{Lo~-6P$D{@hTfhD>{+drT*XE2G{__em|-yH88@9_W3PneU23g~pxgeWZK3x3_ze zdv|kvEb5+)xSH+lWBt<_*1HS*8Y^fWM!4=nkU2}|6TOdtCn3tF?H-SMA7^ECF}AmV zWyIR2HBWCZ>vQ`fOz$2`4o~kh@8ZOcs=gA2M~a`^G5RP0HlQnD`Xb9fk{A=QtP07h?Hqvm7(Y@1+N6+pKy7 zop^=nQF>vpd(d@1YiA@gM9y85t2XM&T*$qg!skT{JY|X~w0? z@Lh{D40>%cl>R6plTd@%4jYL#Ss96mP2z~1Z*CHnEk!`N4t+3 zrMkkHrZYpwW?XmWZ7`!YM*q1m5OX~b6eQ!O==m^irSVV|xQjLx|Hpi(eLgYuE+mTk(pqm&}l}M*4PTQ=9Mt<0P$HPOqnNp zGrE-FnD1EHm{$ZTpjx7sZ+GO1c~++)a^BPSP;dXd{sm<#asE*#N^@M0-Vs?k-Eu+{ zuyDQOmgGzmM|01Ruvi zF?{@!g%CUG-B_UnaTb(#yd`_(B-8D~+S{i>J>_PE-|1Jrs$#g9Pqcl0DoR=W%eNd&p z60rQmOikpZ`jb_98MCiNHrf`Plxdh|Yy!lSKH&>3w&IeY0+^VTY6v@K{4i{HL{JD4 zM;IX5;28{pV%7Np*5;WbgNUaTRf+H-0QW{%%3Y_}3o{$VkAzP0;ewLe3OXj9GYJ-> zJ%x7d_cG)`5`ic*5h%;v&2a$ydVai1YFflSO7Tq!@wwBwhQ~>OTDQ*c>3=Np4%nJqFVwZ+_AIwW~k_Hrj9hRBA>VX$;>Hk$r$-( zIi66GW*#KV+=}X$6qAL+7L_=fyn9^Kd99vM8S_gLW{K60CBU@`BJ#(W{5V-nfGKC!1IhJq~7NUZpg(K6OG_fjbKdr}nxs=~B2 zNWISpQt2Y|Ae`CR3wQU+43?{uFu4Wmk*Cn_1A=jK*c|0J{Am&>P(0Fw$}tm|xKftp zL6wbm#1%*r1M(}`1F9BpKCP<`BW-av=me=YWE*z$QA$^%8i+#`5TGvrG*o@O&Pl`ScYFwC~sLa_Xw z?j_0&Q;S$y7%Q={K_(0J949W`G%YnNrRcyGWlAtQ4`nr(q)A;?H)qFUW&guaMtqkY zc_)%qaL5ItHEN&ll?XrDyI&kxiO*_qBsTzU*JHaXB^O_qas-_n1~3|E{QRi1&NWWK~S+5q7?O2KooUK)X|5Ey<|I|qLrI0(4f zu_)B~pkZf(s=ef&qh>K|-24=Y& z+q&=9n^C3}jse_o{{{#Zz{(47m zL(8O6UTQyKOV1BfKAi^>`4wj{Suy)O-SWGL`Ht5;zL4HCo=7ho&Xhh`L9<09+yrM# zBV&RZ(BO`r0z1slCK z;ZgR-U&JnEQL%qNweUwAq}s=2V3rER1H)dG4UW2R!s!Y2}|p0@t21U+Pnz|FiqtH=djy@CY=e1!A-%BIgPv~h z7T6cjm1XUj2lt6 z*vW%;&fz*4PwsCes6o<0C1|#jqd9ws{y=$rTESUr)2`izdsPzlzFMh#kk!oPy2pop z(_+V?{nQ>56J99upk9#l1!y8raVwu$)4jj1tka*ysIm$_hv|NXc^4QTvP*v>L-bPpn(~Mq7oMa0!{Y~> z1~DDFR|E+~9fCFGsdTrUxKmn?Fd&(Yr&T)kN{Cu5-L@UE^3#I4-qEn7ahk-wdh6k! zDfC!1&$C)@t|!u|w+JRWJcr_khonSGE532as|h_B=9HX*gp6SOO}HkH*iQwR%9~u+ z+;goxgbGxxuexe5SeY=$gmF3t(ngk@uo0xR8D3&>Evmzta^Ax-)V6Q_9lEmOUdYq$ fE$&+m#pw%iiOugz5K7+>2X6!Ly5SMwcR~LLbyK=o delta 2513 zcmXxme@sdw4YmK(XTpPuvvDy1`?%~<}p4ao7b9kQTe4pnW zefw3{rA>ifJ??%(*-Io5o#Dpl#23>zP+}vEDZp76gMKW=23&`SF%^HtYMj7qER7;? zH~R2B)O~}f>wjRaF#+R=Hf8}QnlKArMs@TtK7@bcEWC&OO!N$6JU9oR!NnMdC(w(Z zpziw`AI2Y$pSjH;1;;QMqq*p1e3MBzNw+20UB{0Zb4=LAWp|aScXSX6C6TKTZ3GRFj9Sxbq;J!T%4jbt<@=HBn}evOJB->}{T}kKl%C>*{0No$3#bk*qyAvf zX%C}j{u3(2zoVAuE^43&r#*@BwB0&C0N6Mw_w=qKOx zcn9CXJZ|d7tGEtJ$fGiK2s7~{uEB4y4P&{u9s95jujA90M*5VAqi8SvaVlE7&rzH2 z29DuePP4sQHp)&9svI^!kT!sT!h{KqU;jE9YFGBTOit}-+bN&_d>;1Q= z)Nc&(SQk!fQYHjyA?KhFW%>^vNYmQOuxE-{suo&M(^>Yig#*?TAiQsXy#4At} ztHYOE0cJ#nzRZX(G~j*IOnq$eMd(MhyO3oyZ#nJvaV_m3)B|`JwG5k3Yuk^S$S8*j zjHHvLxEgie3%G*u&1Y0L;DqBE@~1UDhIu%M?f5UQ#1_)hg{LqFXDkS1pbRzO3H0M- zdYNUTQv{d)9ab0+K0H^scj3C1=@oEttxoxg%h@JG~u50Gq|=*6LS zHo9q-pbIrg6>U_N7D7v#t%g&=rz+T?@BbDmdWzMA(xX(h6Iq1b-CRQJt}-ozX-4*y zU6e{?kyqN@aC$wp{wi(68lsj6BPxmAL^WX-t-m&fKC@FruaU|VA?#xbN2OFdSQ*eO zr$WX}1Cgo*h0ld~lF%z!MZ^-*iK(J2PL*;h8sFYDO7|{8JJUyK{hJ7-S9@S9v6fg* zsH_NK8XZMFv60Xkvm#~(p`zWt)2@XM+rdw;}?R$}TH8@(r^8VbTe` z!%wL~*+Xo$YoQIswy^&Lvk6O`^XXXN)CHdx`+K6g_LRyhwoQk?bp0dTwLz``kRYm0j3vxr%28&lR0>Tj}LF)`Ml!tby{e KV14DS#|&;Ggq diff --git a/roster_tweaks/roster_tweaks.py b/roster_tweaks/roster_tweaks.py index bbe8dd2..46c9001 100644 --- a/roster_tweaks/roster_tweaks.py +++ b/roster_tweaks/roster_tweaks.py @@ -18,6 +18,11 @@ class RosterTweaksPlugin(GajimPlugin): @log_calls('RosterTweaksPlugin') def init(self): + self.description = _('Allows user to tweak roster window appearance ' + '(eg. make it compact).\nBased on ticket #3340:\n' + 'http://trac.gajim.org/ticket/3340.\n' + 'Added ability to quickly change the status message ' + 'to all connected accounts.') self.config_dialog = RosterTweaksPluginConfigDialog(self) self.config_default_values = {'hide_status_combo': (False, ''), diff --git a/set_location/set_location.py b/set_location/set_location.py index 5ef13e8..94d2490 100644 --- a/set_location/set_location.py +++ b/set_location/set_location.py @@ -26,6 +26,10 @@ except: class SetLocationPlugin(GajimPlugin): @log_calls('SetLocationPlugin') def init(self): + self.description = _('Set information about the current geographical ' + 'or physical location.\n' + 'To be able to specify a location on the built-in card, ' + 'you must install python-osmgpsmap > 0.5') self.config_dialog = SetLocationPluginConfigDialog(self) self.config_default_values = { 'alt': (1609, ''), diff --git a/ubuntu_integration/plugin.py b/ubuntu_integration/plugin.py index ffa6b49..33c64bc 100644 --- a/ubuntu_integration/plugin.py +++ b/ubuntu_integration/plugin.py @@ -48,6 +48,12 @@ class UbuntuIntegrationPlugin(GajimPlugin): """ Does nothing. """ + self.description = _('This plugin integrates Gajim ' + 'with the Ubuntu Messaging Menu.\n\n' + 'You must have python-indicate and python-xdg (and Gajim obviously)' + ' installed to enable this plugin.\n\n' + 'Many thanks to the guys from gajim@conference.gajim.org for ' + 'answering my questions :)') self.config_dialog = None @log_calls("UbuntuIntegrationPlugin") diff --git a/wrong_layout/plugin.py b/wrong_layout/plugin.py index 7ce20a1..7277436 100644 --- a/wrong_layout/plugin.py +++ b/wrong_layout/plugin.py @@ -2,7 +2,6 @@ import gtk import os -import gettext from common import helpers from common import gajim @@ -10,18 +9,11 @@ from plugins import GajimPlugin from plugins.helpers import log_calls, log -locale_path = os.path.dirname(__file__) + '/locale' -try: - gett = gettext.Catalog('WrongLayout', locale_path) - _ = gett.gettext -except: - pass - - class WrongLayoutPlugin(GajimPlugin): - description = _('Press alt+r to convert chars typed in wrong layout Rus<>Eng') @log_calls('WrongLayoutPlugin') def init(self): + self.description = _('Press alt+r to convert chars typed in ' + 'wrong layout Rus<>Eng') self.config_dialog = None self.gui_extension_points = { 'chat_control_base': (self.connect_with_chat_control, @@ -29,19 +21,19 @@ class WrongLayoutPlugin(GajimPlugin): self.chat_control = None self.controls = [] self.dict_eng = {'`': 'ё', 'q': 'й', 'w': 'ц', 'e': 'у', 'r': 'к', - 't': 'е', - 'y': 'н', 'u': 'г', 'i': 'ш', 'o': 'щ', 'p': 'з', '[': 'х', - ']': 'ъ', 'a': 'ф', 's': 'ы', 'd': 'в', 'f': 'а', 'g': 'п', - 'h': 'р', 'j': 'о', 'k': 'л', 'l': 'д', ';': 'ж', '\'': 'э', - 'z': 'я', 'x': 'ч', 'c': 'с', 'v': 'м', 'b': 'и', 'n': 'т', - 'm': 'ь', ',': 'б', '.': 'ю', '/': '.', - '\\': '\\', '~': 'Ё', '@': '"', '$': ';', '^': ':', '&': '?', - 'Q': 'Й', 'W': 'Ц', 'E': 'У', 'R': 'К', 'T': 'Е', 'Y': 'Н', - 'U': 'Г', 'I': 'Ш', 'O': 'Щ', 'P': 'З', '{': 'Х', '}': 'Ъ', - '|': '/', 'A': 'Ф', 'S': 'Ы', 'D': 'В', 'F': 'А', 'G': 'П', - 'H': 'Р', 'J': 'О', 'K': 'Л', 'L': 'Д', '"': 'Э', 'Z': 'Я', - 'X': 'Ч', 'C': 'С', 'V': 'М', 'B': 'И', 'N': 'Т', 'M': 'Ь', - '<': 'Б', '>': 'Ю', '?': ',', ':': 'Ж'} + 't': 'е', + 'y': 'н', 'u': 'г', 'i': 'ш', 'o': 'щ', 'p': 'з', '[': 'х', + ']': 'ъ', 'a': 'ф', 's': 'ы', 'd': 'в', 'f': 'а', 'g': 'п', + 'h': 'р', 'j': 'о', 'k': 'л', 'l': 'д', ';': 'ж', '\'': 'э', + 'z': 'я', 'x': 'ч', 'c': 'с', 'v': 'м', 'b': 'и', 'n': 'т', + 'm': 'ь', ',': 'б', '.': 'ю', '/': '.', + '\\': '\\', '~': 'Ё', '@': '"', '$': ';', '^': ':', '&': '?', + 'Q': 'Й', 'W': 'Ц', 'E': 'У', 'R': 'К', 'T': 'Е', 'Y': 'Н', + 'U': 'Г', 'I': 'Ш', 'O': 'Щ', 'P': 'З', '{': 'Х', '}': 'Ъ', + '|': '/', 'A': 'Ф', 'S': 'Ы', 'D': 'В', 'F': 'А', 'G': 'П', + 'H': 'Р', 'J': 'О', 'K': 'Л', 'L': 'Д', '"': 'Э', 'Z': 'Я', + 'X': 'Ч', 'C': 'С', 'V': 'М', 'B': 'И', 'N': 'Т', 'M': 'Ь', + '<': 'Б', '>': 'Ю', '?': ',', ':': 'Ж'} self.dict_ru = {} for key in self.dict_eng.keys(): self.dict_ru[self.dict_eng[key]] = key