Update strings for better english. Thanks to Allan Nordhøy for the suggestions
This commit is contained in:
parent
92f52bbcbd
commit
d338572271
|
@ -57,13 +57,13 @@ Sets value of 'key' to 'value'.
|
|||
Writes the current state of Gajim preferences to the .config file
|
||||
.Ss remove_contact Ao jid Ac Bq account
|
||||
Removes contact from roster
|
||||
.Ss send_chat_message Ao jid Ac Ao message Ac Bo pgp key Bc Bq account
|
||||
.Ss send_chat_message Ao jid Ac Ao message Ac Bo PGP key Bc Bq account
|
||||
Sends new chat message to a contact in the roster. Both OpenPGP key and account are optional. If you want to set only 'account', without 'OpenPGP key', just set 'OpenPGP key' to ''.
|
||||
.Ss send_file Ao file Ac Ao jid Ac Bq account
|
||||
Sends file to a contact
|
||||
.Ss send_groupchat_message Ao room_jid Ac Ao message Ac Bq account
|
||||
Sends new message to a groupchat you've joined.
|
||||
.Ss send_single_message Ao jid subject Ac Ao message Ac Bo pgp key Bc Bq account
|
||||
.Ss send_single_message Ao jid subject Ac Ao message Ac Bo PGP key Bc Bq account
|
||||
Sends new single message to a contact in the roster. Both OpenPGP key and account are optional. If you want to set only 'account', without 'OpenPGP key', just set 'OpenPGP key' to ''.
|
||||
.Ss send_xml Ao xml Ac Bq account
|
||||
Sends custom XML
|
||||
|
|
|
@ -3,7 +3,7 @@ Categories=Network;InstantMessaging;GTK;GNOME;
|
|||
_Name=Gajim
|
||||
_GenericName=Jabber IM Client
|
||||
_Comment=A GTK+ Jabber client
|
||||
_Keywords=chat;messaging;im;jabber;xmpp;bonjour;voip;
|
||||
_Keywords=chat;messaging;im;xmpp;bonjour;voip;
|
||||
Version=1.0
|
||||
Exec=gajim
|
||||
Icon=gajim
|
||||
|
|
|
@ -621,7 +621,7 @@
|
|||
</child>
|
||||
<child>
|
||||
<object class="GtkCheckButton" id="carbons_checkbutton1">
|
||||
<property name="label" translatable="yes">Receive conversations from other resources (If server supports it)</property>
|
||||
<property name="label" translatable="yes">Receive conversations from other resources (provided the server has support for it)</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
|
|
|
@ -76,7 +76,7 @@
|
|||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="tooltip_text" translatable="yes">Searching only in the selected day </property>
|
||||
<property name="tooltip_text" translatable="yes">Only searching within selected day</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="xalign">0.5</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
|
|
|
@ -480,7 +480,7 @@
|
|||
</child>
|
||||
<child>
|
||||
<object class="GtkCheckButton" id="positive_184_ack_checkbutton">
|
||||
<property name="label" translatable="yes">Show icon when your messages are received</property>
|
||||
<property name="label" translatable="yes">Notify by icon when your messages are received</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
|
@ -2745,7 +2745,7 @@ to discover one from server.</property>
|
|||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="tooltip_text" translatable="yes">If checked, Gajim will keep logs for encrypted messages. Please note that when using E2E encryption the remote party has to agree on logging, else the messages will not be logged.</property>
|
||||
<property name="tooltip_text" translatable="yes">If checked, Gajim will keep logs for encrypted messages. Please note that when using End-to-End encryption the remote party has to agree on logging, else the messages will not be logged.</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="xalign">0</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
|
|
|
@ -2,9 +2,7 @@
|
|||
<!-- Generated with glade 3.18.3 -->
|
||||
<interface>
|
||||
<requires lib="gtk+" version="3.12"/>
|
||||
<object class="GtkTextBuffer" id="textbuffer1">
|
||||
<property name="text" translatable="yes">Message Body <currently unused, so it's hidden by default></property>
|
||||
</object>
|
||||
<object class="GtkTextBuffer" id="textbuffer1"/>
|
||||
<object class="GtkWindow" id="roster_item_exchange_window">
|
||||
<property name="can_focus">False</property>
|
||||
<property name="title" translatable="yes">Roster Item Exchange</property>
|
||||
|
|
|
@ -294,14 +294,14 @@ if dbus_support.supported:
|
|||
@dbus.service.method(INTERFACE, in_signature='ssss', out_signature='b')
|
||||
def send_chat_message(self, jid, message, keyID, account):
|
||||
'''Send chat 'message' to 'jid', using account (optional) 'account'.
|
||||
if keyID is specified, encrypt the message with the pgp key '''
|
||||
if keyID is specified, encrypt the message with the PGP key '''
|
||||
jid = self._get_real_jid(jid, account)
|
||||
return self._send_message(jid, message, keyID, account)
|
||||
|
||||
@dbus.service.method(INTERFACE, in_signature='sssss', out_signature='b')
|
||||
def send_single_message(self, jid, subject, message, keyID, account):
|
||||
'''Send single 'message' to 'jid', using account (optional) 'account'.
|
||||
if keyID is specified, encrypt the message with the pgp key '''
|
||||
if keyID is specified, encrypt the message with the PGP key '''
|
||||
jid = self._get_real_jid(jid, account)
|
||||
return self._send_message(jid, message, keyID, account, type, subject)
|
||||
|
||||
|
@ -626,7 +626,7 @@ if dbus_support.supported:
|
|||
elif len(prim_contact.keyID) == 16:
|
||||
keyID = prim_contact.keyID[8:]
|
||||
if keyID:
|
||||
contact_dict['openpgp'] = keyID
|
||||
contact_dict['openPGP'] = keyID
|
||||
contact_dict['resources'] = dbus.Array([], signature='(sis)')
|
||||
for contact in contacts:
|
||||
resource_props = dbus.Struct((DBUS_STRING(contact.resource),
|
||||
|
|
|
@ -56,7 +56,7 @@ class GajimApplication(Gtk.Application):
|
|||
'history db and plugins)'))
|
||||
self.add_main_option('verbose', ord('v'), GLib.OptionFlags.NONE,
|
||||
GLib.OptionArg.NONE,
|
||||
_('Print xml stanzas and other debug '
|
||||
_('Print XML stanzas and other debug '
|
||||
'information'))
|
||||
self.add_main_option('windev', ord('w'), GLib.OptionFlags.NONE,
|
||||
GLib.OptionArg.NONE,
|
||||
|
|
|
@ -366,8 +366,8 @@ class ChatControl(ChatControlBase):
|
|||
else:
|
||||
self._formattings_button.set_sensitive(False)
|
||||
if self.contact.supports(NS_XHTML_IM):
|
||||
self._formattings_button.set_tooltip_text(_('Formattings are '
|
||||
'not available when GPG is active'))
|
||||
self._formattings_button.set_tooltip_text(_('Formatting is not '
|
||||
'available so long as GPG is active'))
|
||||
else:
|
||||
self._formattings_button.set_tooltip_text(_('This contact does '
|
||||
'not support HTML'))
|
||||
|
|
|
@ -1004,7 +1004,7 @@ class ChatControlBase(MessageControl, ChatCommandProcessor, CommandTools):
|
|||
if not contact or contact.sub not in ('both', 'to'):
|
||||
prim_text = _('Really send file?')
|
||||
sec_text = _('If you send a file to %s, he/she will know your '
|
||||
'real Jabber ID.') % gc_contact.name
|
||||
'real JID.') % gc_contact.name
|
||||
dialog = dialogs.NonModalConfirmationDialog(prim_text,
|
||||
sec_text, on_response_ok=(_on_ok, gc_contact))
|
||||
dialog.popup()
|
||||
|
|
|
@ -258,7 +258,7 @@ def adapt_arguments(command, arguments, args, opts):
|
|||
for arg, (spec_key, spec_value) in zip(overlapped, spec_kwargs):
|
||||
opts.append((spec_key, arg))
|
||||
else:
|
||||
raise CommandError(_("Excessive arguments"), command)
|
||||
raise CommandError(_("Too many arguments"), command)
|
||||
|
||||
# Detect every switch and ensure it will not receive any arguments.
|
||||
# Normally this does not happen unless overlapping is enabled.
|
||||
|
|
|
@ -177,10 +177,10 @@ class Config:
|
|||
'notify_on_new_gmail_email_command': [ opt_str, '', _('Specify the command to run when new mail arrives, e.g.: /usr/bin/getmail -q') ],
|
||||
'use_gpg_agent': [ opt_bool, False ],
|
||||
'change_roster_title': [ opt_bool, True, _('Add * and [n] in roster title?')],
|
||||
'restore_lines': [opt_int, 4, _('How many lines to remember from previous conversation when a chat tab/window is reopened?')],
|
||||
'restore_lines': [opt_int, 4, _('Amount of previous messages to include when reopening a chat')],
|
||||
'restore_timeout': [opt_int, 60, _('How many minutes should last lines from previous conversation last.')],
|
||||
'muc_restore_lines': [opt_int, 20, _('How many lines to request from server when entering a groupchat. -1 means no limit')],
|
||||
'muc_restore_timeout': [opt_int, 60, _('How many minutes back to request logs when entering a groupchat. -1 means no limit')],
|
||||
'muc_restore_timeout': [opt_int, 60, _('Minutes of backlog to request when entering a groupchat. -1 means no limit')],
|
||||
'muc_autorejoin_timeout': [opt_int, 1, _('How many seconds to wait before trying to autorejoin to a conference you are being disconnected from. Set to 0 to disable autorejoining.')],
|
||||
'muc_autorejoin_on_kick': [opt_bool, False, _('Should autorejoin be activated when we are being kicked from a conference?')],
|
||||
'send_on_ctrl_enter': [opt_bool, False, _('Send message on Ctrl+Enter and with Enter make new line (Mirabilis ICQ Client default behaviour).')],
|
||||
|
@ -198,8 +198,8 @@ class Config:
|
|||
'autodetect_browser_mailer': [opt_bool, True, '', True],
|
||||
'print_ichat_every_foo_minutes': [opt_int, 5, _('When not printing time for every message (print_time==sometimes), print it every x minutes.')],
|
||||
'confirm_close_muc': [opt_bool, True, _('Ask before closing a group chat tab/window.')],
|
||||
'confirm_close_muc_rooms': [opt_str, '', _('Always ask before closing group chat tab/window in this space separated list of group chat JIDs.')],
|
||||
'noconfirm_close_muc_rooms': [opt_str, '', _('Never ask before closing group chat tab/window in this space separated list of group chat JIDs.')],
|
||||
'confirm_close_muc_rooms': [opt_str, '', _('Always ask for confirmation before closing groupchats with any of the JIDs on this space separated list.')],
|
||||
'noconfirm_close_muc_rooms': [opt_str, '', _('Never ask for confirmation before closing groupchats with any of the JIDs on this space separated list.')],
|
||||
'confirm_close_multiple_tabs': [opt_bool, True, _('Ask before closing tabbed chat window if there are controls that can lose data (chat, private chat, groupchat that will not be minimized)')],
|
||||
'notify_on_file_complete': [opt_bool, True],
|
||||
'file_transfers_port': [opt_int, 28011],
|
||||
|
@ -294,7 +294,7 @@ class Config:
|
|||
'attach_notifications_to_systray': [opt_bool, False, _('If True, notification windows from notification-daemon will be attached to notification icon.')],
|
||||
'check_idle_every_foo_seconds': [opt_int, 2, _('Choose interval between 2 checks of idleness.')],
|
||||
'uri_schemes': [opt_str, 'aaa:// aaas:// acap:// cap:// cid: crid:// data: dav: dict:// dns: fax: file:/ ftp:// geo: go: gopher:// h323: http:// https:// iax: icap:// im: imap:// info: ipp:// iris: iris.beep: iris.xpc: iris.xpcs: iris.lwz: ldap:// mid: modem: msrp:// msrps:// mtqp:// mupdate:// news: nfs:// nntp:// opaquelocktoken: pop:// pres: prospero:// rtsp:// service: shttp:// sip: sips: sms: snmp:// soap.beep:// soap.beeps:// tag: tel: telnet:// tftp:// thismessage:/ tip:// tv: urn:// vemmi:// xmlrpc.beep:// xmlrpc.beeps:// z39.50r:// z39.50s:// about: apt: cvs:// daap:// ed2k:// feed: fish:// git:// iax2: irc:// ircs:// ldaps:// magnet: mms:// rsync:// ssh:// svn:// sftp:// smb:// webcal://', _('Valid uri schemes. Only schemes in this list will be accepted as "real" uri. (mailto and xmpp are handled separately)'), True],
|
||||
'ask_offline_status_on_connection': [ opt_bool, False, _('Ask offline status message to all offline contacts when connection to an account is established. WARNING: This causes a lot of requests to be sent!') ],
|
||||
'ask_offline_status_on_connection': [ opt_bool, False, _('Request offline status messages from all contacts upon connecting. WARNING: This causes a lot of requests to be sent!') ],
|
||||
'shell_like_completion': [ opt_bool, False, _('If True, completion in groupchats will be like a shell auto-completion')],
|
||||
'show_self_contact': [opt_str, 'when_other_resource', _('When is self contact row displayed. Can be "always", "when_other_resource" or "never"'), True],
|
||||
'audio_input_device': [opt_str, 'autoaudiosrc ! volume name=gajim_vol'],
|
||||
|
@ -306,8 +306,8 @@ class Config:
|
|||
'video_see_self': [opt_bool, True, _('If True, You will also see your webcam')],
|
||||
'audio_input_volume': [opt_int, 50],
|
||||
'audio_output_volume': [opt_int, 50],
|
||||
'use_stun_server': [opt_bool, False, _('If True, Gajim will try to use a STUN server when using jingle. The one in "stun_server" option, or the one given by the jabber server.')],
|
||||
'stun_server': [opt_str, '', _('STUN server to use when using jingle')],
|
||||
'use_stun_server': [opt_bool, False, _('If True, Gajim will try to use a STUN server when using Jingle. The one in "stun_server" option, or the one given by the XMPP server.')],
|
||||
'stun_server': [opt_str, '', _('STUN server to use when using Jingle')],
|
||||
'show_affiliation_in_groupchat': [opt_bool, True, _('If True, Gajim will show affiliation of groupchat occupants by adding a colored square to the status icon')],
|
||||
'global_proxy': [opt_str, '', _('Proxy used for all outgoing connections if the account does not have a specific proxy configured')],
|
||||
'ignore_incoming_attention': [opt_bool, False, _('If True, Gajim will ignore incoming attention requestd ("wizz").')],
|
||||
|
@ -347,6 +347,7 @@ class Config:
|
|||
'keyname': [ opt_str, '', '', True ],
|
||||
'enable_esessions': [opt_bool, True, _('Enable ESessions encryption for this account.'), True],
|
||||
'autonegotiate_esessions': [opt_bool, False, _('Should Gajim automatically start an encrypted session when possible?')],
|
||||
#keep tls, ssl and plain lowercase
|
||||
'connection_types': [ opt_str, 'tls', _('Ordered list (space separated) of connection type to try. Can contain tls, ssl or plain')],
|
||||
'tls_version': [ opt_str, '1.0', '' ],
|
||||
'cipher_list': [ opt_str, 'HIGH:!aNULL:RC4-SHA', '' ],
|
||||
|
@ -363,7 +364,7 @@ class Config:
|
|||
'custom_host': [ opt_str, '', '', True ],
|
||||
'sync_with_global_status': [ opt_bool, False, ],
|
||||
'no_log_for': [ opt_str, '', _('Space separated list of JIDs for which you do not want to store logs. You can also add account name to log nothing for this account.')],
|
||||
'sync_logs_with_server': [ opt_bool, True, _('Download logs stored on server on Gajim startup if server supports XEP-0136 or XEP-0313')],
|
||||
'sync_logs_with_server': [ opt_bool, True, _('On startup, Gajim will download logs stored on server, provided it supports XEP-0136 or XEP-0313')],
|
||||
'allow_no_log_for': [ opt_str, '', _('Space separated list of JIDs for which you accept to not log conversations if he does not want to.')],
|
||||
'non_minimized_gc': [ opt_str, '' ],
|
||||
'attached_gpg_keys': [ opt_str, '' ],
|
||||
|
@ -413,9 +414,9 @@ class Config:
|
|||
'last_archiving_time': [opt_str, '1970-01-01T00:00:00Z', _('Last time we syncronized with logs from server.')],
|
||||
'enable_message_carbons': [ opt_bool, True, _('If enabled and if server supports this feature, Gajim will receive messages sent and received by other resources.')],
|
||||
'ft_send_local_ips': [ opt_bool, True, _('If enabled, Gajim will send your local IPs so your contact can connect to your machine to transfer files.')],
|
||||
'oauth2_refresh_token': [ opt_str, '', _('Latest token for Oauth2 authentication.')],
|
||||
'oauth2_client_id': [ opt_str, '0000000044077801', _('client_id for Oauth2 authentication.')],
|
||||
'oauth2_redirect_url': [ opt_str, 'https%3A%2F%2Fgajim.org%2Fmsnauth%2Findex.cgi', _('redirect_url for Oauth2 authentication.')],
|
||||
'oauth2_refresh_token': [ opt_str, '', _('Latest token for OAuth 2.0 authentication.')],
|
||||
'oauth2_client_id': [ opt_str, '0000000044077801', _('client_id for OAuth 2.0 authentication.')],
|
||||
'oauth2_redirect_url': [ opt_str, 'https%3A%2F%2Fgajim.org%2Fmsnauth%2Findex.cgi', _('redirect_url for OAuth 2.0 authentication.')],
|
||||
'opened_chat_controls': [opt_str, '', _('Space separated list of JIDs for which we want to re-open a chat window on next startup.')],
|
||||
'last_mam_id': [opt_str, '', _('Last MAM id we are syncronized with')],
|
||||
}, {}),
|
||||
|
@ -486,7 +487,7 @@ class Config:
|
|||
'rooms': ({
|
||||
'speller_language': [ opt_str, '', _('Language for which we want to check misspelled words')],
|
||||
'muc_restore_lines': [opt_int, -2, _('How many lines to request from server when entering a groupchat. -1 means no limit, -2 means global value')],
|
||||
'muc_restore_timeout': [opt_int, -2, _('How many minutes back to request logs when entering a groupchat. -1 means no limit, -2 means global value')],
|
||||
'muc_restore_timeout': [opt_int, -2, _('Minutes of backlog to request when entering a groupchat. -1 means no limit, -2 means global value')],
|
||||
}, {}),
|
||||
'plugins': ({
|
||||
'active': [opt_bool, False, _('State whether plugins should be activated on startup (this is saved on Gajim exit). This option SHOULD NOT be used to (de)activate plug-ins. Use GUI instead.')],
|
||||
|
|
|
@ -276,8 +276,8 @@ class CommonConnection:
|
|||
new_list.append(self.check_jid(j))
|
||||
except helpers.InvalidFormat:
|
||||
gajim.nec.push_incoming_event(InformationEvent(None,
|
||||
conn=self, level='error', pri_txt=_('Invalid Jabber '
|
||||
'ID'), sec_txt=_('It is not possible to send a message '
|
||||
conn=self, level='error', pri_txt=_('Invalid JID'),
|
||||
sec_txt=_('It is not possible to send a message '
|
||||
'to %s, this JID is not valid.') % j))
|
||||
return
|
||||
fjid = new_list
|
||||
|
@ -286,7 +286,7 @@ class CommonConnection:
|
|||
jid = self.check_jid(jid)
|
||||
except helpers.InvalidFormat:
|
||||
gajim.nec.push_incoming_event(InformationEvent(None, conn=self,
|
||||
level='error', pri_txt=_('Invalid Jabber ID'), sec_txt=_(
|
||||
level='error', pri_txt=_('Invalid JID'), sec_txt=_(
|
||||
'It is not possible to send a message to %s, this JID is not '
|
||||
'valid.') % jid))
|
||||
return
|
||||
|
@ -1117,7 +1117,7 @@ class Connection(CommonConnection, ConnectionHandlers):
|
|||
|
||||
def connect(self, data=None):
|
||||
"""
|
||||
Start a connection to the Jabber server
|
||||
Start a connection to the XMPP server
|
||||
|
||||
Returns connection, and connection type ('tls', 'ssl', 'plain', '') data
|
||||
MUST contain hostname, usessl, proxy, use_custom_host, custom_host (if
|
||||
|
|
|
@ -1153,7 +1153,7 @@ class MessageReceivedEvent(nec.NetworkIncomingEvent, HelperEvent):
|
|||
self.get_jid_resource()
|
||||
except helpers.InvalidFormat:
|
||||
gajim.nec.push_incoming_event(InformationEvent(None, conn=self.conn,
|
||||
level='error', pri_txt=_('Invalid Jabber ID'),
|
||||
level='error', pri_txt=_('Invalid JID'),
|
||||
sec_txt=_('A message from a non-valid JID arrived, it has been '
|
||||
'ignored.')))
|
||||
return
|
||||
|
@ -1199,7 +1199,7 @@ class MessageReceivedEvent(nec.NetworkIncomingEvent, HelperEvent):
|
|||
except helpers.InvalidFormat:
|
||||
gajim.nec.push_incoming_event(InformationEvent(None,
|
||||
conn=self.conn, level='error',
|
||||
pri_txt=_('Invalid Jabber ID'),
|
||||
pri_txt=_('Invalid JID'),
|
||||
sec_txt=_('A message from a non-valid JID arrived, it '
|
||||
'has been ignored.')))
|
||||
return
|
||||
|
|
|
@ -383,7 +383,7 @@ def get_uf_chatstate(chatstate):
|
|||
elif chatstate == 'inactive':
|
||||
return _('is doing something else')
|
||||
elif chatstate == 'composing':
|
||||
return _('is composing a message...')
|
||||
return _('is composing a message…')
|
||||
elif chatstate == 'paused':
|
||||
#paused means he or she was composing but has stopped for a while
|
||||
return _('paused composing a message')
|
||||
|
@ -498,7 +498,7 @@ def reduce_chars_newlines(text, max_chars = 0, max_lines = 0):
|
|||
"""
|
||||
def _cut_if_long(string):
|
||||
if len(string) > max_chars:
|
||||
string = string[:max_chars - 3] + '...'
|
||||
string = string[:max_chars - 3] + '…'
|
||||
return string
|
||||
|
||||
if max_lines == 0:
|
||||
|
@ -511,7 +511,7 @@ def reduce_chars_newlines(text, max_chars = 0, max_lines = 0):
|
|||
if lines:
|
||||
reduced_text = '\n'.join(lines)
|
||||
if reduced_text != text:
|
||||
reduced_text += '...'
|
||||
reduced_text += '…'
|
||||
else:
|
||||
reduced_text = ''
|
||||
return reduced_text
|
||||
|
|
|
@ -1877,7 +1877,7 @@ class AccountsWindow:
|
|||
jid = gajim.config.get_per('accounts', account, 'hostname')
|
||||
else:
|
||||
self.xml.get_object('anonymous_checkbutton1').set_active(False)
|
||||
self.xml.get_object('jid_label1').set_text(_('Jabber ID:'))
|
||||
self.xml.get_object('jid_label1').set_text(_('JID:'))
|
||||
savepass = gajim.config.get_per('accounts', account, 'savepass')
|
||||
save_password = self.xml.get_object('save_password_checkbutton1')
|
||||
save_password.set_sensitive(True)
|
||||
|
@ -2173,7 +2173,7 @@ class AccountsWindow:
|
|||
jid = helpers.parse_jid(jid)
|
||||
except helpers.InvalidFormat as s:
|
||||
if not widget.is_focus():
|
||||
pritext = _('Invalid Jabber ID')
|
||||
pritext = _('Invalid JID')
|
||||
dialogs.ErrorDialog(pritext, str(s), transient_for=self.window)
|
||||
GLib.idle_add(lambda: widget.grab_focus())
|
||||
return True
|
||||
|
@ -2182,9 +2182,9 @@ class AccountsWindow:
|
|||
if len(jid_splited) != 2 and not gajim.config.get_per('accounts',
|
||||
self.current_account, 'anonymous_auth'):
|
||||
if not widget.is_focus():
|
||||
pritext = _('Invalid Jabber ID')
|
||||
pritext = _('Invalid JID')
|
||||
sectext = \
|
||||
_('A Jabber ID must be in the form "user@servername".')
|
||||
_('A JID must be in the form "user@servername".')
|
||||
dialogs.ErrorDialog(pritext, sectext, transient_for=self.window)
|
||||
GLib.idle_add(lambda: widget.grab_focus())
|
||||
return True
|
||||
|
@ -2250,7 +2250,7 @@ class AccountsWindow:
|
|||
resource = helpers.parse_resource(resource)
|
||||
except helpers.InvalidFormat as s:
|
||||
if not widget.is_focus():
|
||||
pritext = _('Invalid Jabber ID')
|
||||
pritext = _('Invalid JID')
|
||||
dialogs.ErrorDialog(pritext, str(s), transient_for=self.window)
|
||||
GLib.idle_add(lambda: widget.grab_focus())
|
||||
return True
|
||||
|
@ -2507,7 +2507,7 @@ class AccountsWindow:
|
|||
return
|
||||
|
||||
if not gajim.connections[self.current_account].vcard_supported:
|
||||
dialogs.ErrorDialog(_("Your server doesn't support vCard"),
|
||||
dialogs.ErrorDialog(_("Your server does not have vCard support"),
|
||||
_("Your server can't save your personal information."),
|
||||
transient_for=self.window)
|
||||
return
|
||||
|
@ -2949,17 +2949,17 @@ class GroupchatConfigWindow:
|
|||
|
||||
def on_add_button_clicked(self, widget, affiliation):
|
||||
if affiliation == 'outcast':
|
||||
title = _('Banning...')
|
||||
title = _('Banning…')
|
||||
#You can move '\n' before user@domain if that line is TOO BIG
|
||||
prompt = _('<b>Whom do you want to ban?</b>\n\n')
|
||||
elif affiliation == 'member':
|
||||
title = _('Adding Member...')
|
||||
title = _('Adding Member…')
|
||||
prompt = _('<b>Whom do you want to make a member?</b>\n\n')
|
||||
elif affiliation == 'owner':
|
||||
title = _('Adding Owner...')
|
||||
title = _('Adding Owner…')
|
||||
prompt = _('<b>Whom do you want to make an owner?</b>\n\n')
|
||||
else:
|
||||
title = _('Adding Administrator...')
|
||||
title = _('Adding Administrator…')
|
||||
prompt = _('<b>Whom do you want to make an administrator?</b>\n\n')
|
||||
prompt += _('Can be one of the following:\n'
|
||||
'1. user@domain/resource (only that resource matches).\n'
|
||||
|
@ -3719,7 +3719,7 @@ class AccountCreationWizardWindow:
|
|||
try:
|
||||
jid = helpers.parse_jid(jid)
|
||||
except helpers.InvalidFormat as s:
|
||||
pritext = _('Invalid Jabber ID')
|
||||
pritext = _('Invalid JID')
|
||||
dialogs.ErrorDialog(pritext, str(s))
|
||||
return
|
||||
|
||||
|
@ -3820,7 +3820,7 @@ class AccountCreationWizardWindow:
|
|||
self.is_form)
|
||||
self.xml.get_object('form_vbox').remove(self.data_form_widget)
|
||||
self.xml.get_object('progressbar_label').set_markup(
|
||||
'<b>Account is being created</b>\n\nPlease wait...')
|
||||
'<b>Account is being created</b>\n\nPlease wait…')
|
||||
self.notebook.set_current_page(5) # show creating page
|
||||
self.back_button.hide()
|
||||
self.forward_button.hide()
|
||||
|
@ -3899,8 +3899,8 @@ class AccountCreationWizardWindow:
|
|||
'hostname': hostname, 'error': obj.ssl_msg})
|
||||
if obj.errnum in (18, 27):
|
||||
text = _('Add this certificate to the list of trusted '
|
||||
'certificates.\nSHA1 fingerprint of the certificate:\n%s'
|
||||
'\nSHA256 fingerprint of the certificate:\n%s') \
|
||||
'certificates.\nSHA-1 fingerprint of the certificate:\n%s'
|
||||
'\nSHA-256 fingerprint of the certificate:\n%s') \
|
||||
% (obj.ssl_fingerprint_sha1, obj.ssl_fingerprint_sha256)
|
||||
self.xml.get_object('ssl_checkbutton').set_label(text)
|
||||
else:
|
||||
|
|
|
@ -1294,7 +1294,7 @@ class ConversationTextview(GObject.GObject):
|
|||
index, insert_mark, old_txt = \
|
||||
self.correct_message(correct_id, kind, name)
|
||||
self.corrected_text_list[msg_stanza_id] = \
|
||||
'<b>Message was corrected. Last message was:</b>\n{}' \
|
||||
'<b>Message corrected. Previous message:</b>\n{}' \
|
||||
.format(GLib.markup_escape_text(old_txt))
|
||||
corrected = True
|
||||
except TypeError:
|
||||
|
|
|
@ -639,12 +639,12 @@ class SingleForm(Gtk.Table, object):
|
|||
try:
|
||||
newtext = helpers.parse_jid(newtext)
|
||||
except helpers.InvalidFormat as s:
|
||||
dialogs.ErrorDialog(_('Invalid Jabber ID'), str(s))
|
||||
dialogs.ErrorDialog(_('Invalid JID'), str(s))
|
||||
return
|
||||
if newtext in field.values:
|
||||
dialogs.ErrorDialog(
|
||||
_('Jabber ID already in list'),
|
||||
_('The Jabber ID you entered is already in the list. Choose another one.'))
|
||||
_('JID already in list'),
|
||||
_('The JID you entered is already in the list. Choose another one.'))
|
||||
GLib.idle_add(treeview.set_cursor, path)
|
||||
return
|
||||
model[path][0]=newtext
|
||||
|
|
|
@ -92,7 +92,7 @@ class EditGroupsDialog:
|
|||
self.xml.get_object('nickname_label').set_markup(
|
||||
_('Contact name: <i>%s</i>') % contact.get_shown_name())
|
||||
self.xml.get_object('jid_label').set_markup(
|
||||
_('Jabber ID: <i>%s</i>') % contact.jid)
|
||||
_('JID: <i>%s</i>') % contact.jid)
|
||||
else:
|
||||
self.xml.get_object('nickname_label').set_no_show_all(True)
|
||||
self.xml.get_object('nickname_label').hide()
|
||||
|
@ -851,7 +851,7 @@ class AddNewContactWindow:
|
|||
Class for AddNewContactWindow
|
||||
"""
|
||||
|
||||
uid_labels = {'jabber': _('Jabber ID:'),
|
||||
uid_labels = {'jabber': _('JID:'),
|
||||
'aim': _('AIM Address:'),
|
||||
'gadu-gadu': _('GG Number:'),
|
||||
'icq': _('ICQ Number:'),
|
||||
|
@ -936,11 +936,11 @@ class AddNewContactWindow:
|
|||
self.protocol_combobox.pack_start(cell, True)
|
||||
self.protocol_combobox.add_attribute(cell, 'text', 0)
|
||||
self.protocol_combobox.set_model(liststore)
|
||||
uf_type = {'jabber': 'Jabber', 'aim': 'AIM', 'gadu-gadu': 'Gadu Gadu',
|
||||
uf_type = {'jabber': 'XMPP', 'aim': 'AIM', 'gadu-gadu': 'Gadu Gadu',
|
||||
'icq': 'ICQ', 'msn': 'MSN', 'yahoo': 'Yahoo'}
|
||||
# Jabber as first
|
||||
img = gajim.interface.jabber_state_images['16']['online']
|
||||
liststore.append(['Jabber', img.get_pixbuf(), 'jabber'])
|
||||
liststore.append(['XMPP', img.get_pixbuf(), 'jabber'])
|
||||
for type_ in self.agents:
|
||||
if type_ == 'jabber':
|
||||
continue
|
||||
|
@ -1305,7 +1305,7 @@ class AboutDialog(Gtk.AboutDialog):
|
|||
Gtk.get_minor_version(), Gtk.get_micro_version())
|
||||
gobject_ver = self.tuple2str(GObject.pygobject_version)
|
||||
nbxmpp_ver = nbxmpp.__version__
|
||||
self.set_comments('%s\n%s %s\n%s %s\n%s %s' % (_('A GTK+ Jabber/XMPP client'),
|
||||
self.set_comments('%s\n%s %s\n%s %s\n%s %s' % (_('A GTK+ XMPP client'),
|
||||
_('GTK+ Version:'), gtk_ver, _('PyGobject Version:'), gobject_ver,
|
||||
_('python-nbxmpp Version:'), nbxmpp_ver))
|
||||
self.set_website('https://gajim.org/')
|
||||
|
@ -1875,10 +1875,9 @@ class PlainConnectionDialog(ConfirmationDialogDoubleCheck):
|
|||
def __init__(self, account, on_ok, on_cancel):
|
||||
pritext = _('Insecure connection')
|
||||
sectext = _('You are about to connect to the account %(account)s '
|
||||
'(%(server)s) with an insecure connection. This means all your '
|
||||
'conversations will be exchanged unencrypted. This type of '
|
||||
'connection is really discouraged.\nAre you sure you want to do '
|
||||
'that?') % {'account': account,
|
||||
'(%(server)s) insecurely. This means conversations will not be '
|
||||
'encrypted, and is strongly discouraged.\nAre you sure you want '
|
||||
'to do that?') % {'account': account,
|
||||
'server': gajim.get_hostname_from_account(account)}
|
||||
checktext1 = _('Yes, I really want to connect insecurely')
|
||||
tooltip1 = _('Gajim will NOT connect unless you check this box')
|
||||
|
@ -2662,14 +2661,14 @@ class JoinGroupchatWindow:
|
|||
return
|
||||
user, server, resource = helpers.decompose_jid(room_jid)
|
||||
if not user or not server or resource:
|
||||
ErrorDialog(_('Invalid group chat Jabber ID'),
|
||||
_('Please enter the group chat Jabber ID as room@server.'))
|
||||
ErrorDialog(_('Invalid group chat JID'),
|
||||
_('Please enter the group chat JID as room@server.'))
|
||||
return
|
||||
try:
|
||||
room_jid = helpers.parse_jid(room_jid)
|
||||
except Exception:
|
||||
ErrorDialog(_('Invalid group chat Jabber ID'),
|
||||
_('The group chat Jabber ID contains invalid characters.'))
|
||||
ErrorDialog(_('Invalid group chat JID'),
|
||||
_('The group chat JID contains invalid characters.'))
|
||||
return
|
||||
|
||||
if gajim.contacts.get_contact(self.account, room_jid) and \
|
||||
|
@ -2851,9 +2850,10 @@ class NewChatDialog(InputDialog):
|
|||
title = _('Start Chat with account %s') % account
|
||||
else:
|
||||
title = _('Start Chat')
|
||||
prompt_text = _('Fill in the nickname or the Jabber ID of the contact you would like\nto send a chat message to:')
|
||||
prompt_text = _('Fill in the nickname or the JID of the contact you '
|
||||
'would like\nto send a chat message to:')
|
||||
InputDialog.__init__(self, title, prompt_text, is_modal=False)
|
||||
self.input_entry.set_placeholder_text(_('Nickname / Jabber ID'))
|
||||
self.input_entry.set_placeholder_text(_('Nickname / JID'))
|
||||
|
||||
self.completion_dict = {}
|
||||
liststore = gtkgui_helpers.get_completion_liststore(self.input_entry)
|
||||
|
@ -3299,7 +3299,7 @@ class SingleMessageWindow:
|
|||
try:
|
||||
to_whom_jid = helpers.parse_jid(to_whom_jid)
|
||||
except helpers.InvalidFormat:
|
||||
ErrorDialog(_('Invalid Jabber ID'),
|
||||
ErrorDialog(_('Invalid JID'),
|
||||
_('It is not possible to send a message to %s, this JID is not '
|
||||
'valid.') % to_whom_jid)
|
||||
return True
|
||||
|
@ -3573,7 +3573,7 @@ class RosterItemExchangeWindow:
|
|||
self.items_list_treeview.insert_column_with_attributes(-1, title,
|
||||
renderer1, active=0)
|
||||
renderer2 = Gtk.CellRendererText()
|
||||
self.items_list_treeview.insert_column_with_attributes(-1, _('Jabber ID'),
|
||||
self.items_list_treeview.insert_column_with_attributes(-1, _('JID'),
|
||||
renderer2, text=1)
|
||||
renderer3 = Gtk.CellRendererText()
|
||||
self.items_list_treeview.insert_column_with_attributes(-1, _('Name'),
|
||||
|
@ -4243,7 +4243,7 @@ class ItemArchiving313PreferencesWindow:
|
|||
for widget in ('jid_entry', 'pref_cb'):
|
||||
setattr(self, widget, self.xml.get_object(widget))
|
||||
|
||||
self.window.set_title(_('Add Jabber ID'))
|
||||
self.window.set_title(_('Add JID'))
|
||||
self.pref_cb.set_active(0)
|
||||
self.window.show_all()
|
||||
self.xml.connect_signals(self)
|
||||
|
@ -5334,7 +5334,7 @@ class ESessionInfoWindow:
|
|||
'<b><span size="x-large">%s</span></b>' % verification_status)
|
||||
|
||||
self.xml.get_object('dialog-action_area1').set_no_show_all(True)
|
||||
self.button_label.set_text(_('Verify again...'))
|
||||
self.button_label.set_text(_('Verify again…'))
|
||||
else:
|
||||
if self.session.control:
|
||||
self.session.control._show_lock_image(True, 'E2E', True,
|
||||
|
@ -5347,7 +5347,7 @@ class ESessionInfoWindow:
|
|||
self.xml.get_object('verification_status_label').set_markup(
|
||||
'<b><span size="x-large">%s</span></b>' % verification_status)
|
||||
|
||||
self.button_label.set_text(_('Verify...'))
|
||||
self.button_label.set_text(_('Verify…'))
|
||||
|
||||
path = gtkgui_helpers.get_icon_path(security_image, 32)
|
||||
self.security_image.set_from_file(path)
|
||||
|
@ -5409,13 +5409,13 @@ class GPGInfoWindow:
|
|||
if error:
|
||||
verification_status = _('''Contact's identity NOT verified''')
|
||||
info = _('OpenPGP key is assigned to this contact, but <b>you '
|
||||
'do not trust his key</b>, so message <b>cannot</b> be '
|
||||
'encrypted. Use your OpenPGP client to trust this key.')
|
||||
'do not trust their key</b>, so message <b>cannot</b> be '
|
||||
'encrypted. Use your OpenPGP client to trust their key.')
|
||||
image = 'security-low'
|
||||
else:
|
||||
verification_status = _('''Contact's identity verified''')
|
||||
info = _('OpenPGP Key is assigned to this contact, and you '
|
||||
'trust his key, so messages will be encrypted.')
|
||||
'trust their key, so messages will be encrypted.')
|
||||
image = 'security-high'
|
||||
|
||||
status_label.set_markup('<b><span size="x-large">%s</span></b>' % \
|
||||
|
@ -5609,7 +5609,7 @@ Issued on: %(io)s
|
|||
Expires on: %(eo)s
|
||||
|
||||
<b>Fingerprint</b>
|
||||
SHA1 Fingerprint: %(sha1)s
|
||||
SHA-1 Fingerprint: %(sha1)s
|
||||
|
||||
SHA256 Fingerprint: %(sha256)s
|
||||
''') % {
|
||||
|
@ -5641,7 +5641,7 @@ class CheckFingerprintDialog(YesNoDialog):
|
|||
checktext=checktext, on_response_yes=on_response_yes,
|
||||
on_response_no=on_response_no)
|
||||
self.set_title(_('SSL Certificate Verification for %s') % account)
|
||||
b = Gtk.Button(label=_('View cert...'))
|
||||
b = Gtk.Button(label=_('View cert…'))
|
||||
b.connect('clicked', self.on_cert_clicked)
|
||||
b.show_all()
|
||||
area = self.get_action_area()
|
||||
|
@ -5658,7 +5658,7 @@ class SSLErrorDialog(ConfirmationDialogDoubleCheck):
|
|||
ConfirmationDialogDoubleCheck.__init__(self, pritext, sectext,
|
||||
checktext1, checktext2, on_response_ok=on_response_ok,
|
||||
on_response_cancel=on_response_cancel, is_modal=False)
|
||||
b = Gtk.Button(_('View cert...'))
|
||||
b = Gtk.Button(_('View cert…'))
|
||||
b.connect('clicked', self.on_cert_clicked)
|
||||
b.show_all()
|
||||
area = self.get_action_area()
|
||||
|
|
|
@ -59,7 +59,7 @@ class FeaturesWindow:
|
|||
_('Requires python-dbus.'),
|
||||
_('Feature not available under Windows.')),
|
||||
_('OpenPGP message encryption'): (self.gpg_available,
|
||||
_('Encrypting chat messages with OpenPGP keys.'),
|
||||
_('Ability to encrypting chat messages with OpenPGP.'),
|
||||
_('Requires gpg and python-gnupg (http://code.google.com/p/python-gnupg/).'),
|
||||
_('Requires gpg.exe in PATH.')),
|
||||
_('Network-manager'): (self.network_manager_available,
|
||||
|
|
|
@ -280,8 +280,8 @@ class FileTransfersWindow:
|
|||
else:
|
||||
file_name = file_props.name
|
||||
dialogs.YesNoDialog(('File transfer error'),
|
||||
_('The file %(file)s has been fully received, but it seems to be '
|
||||
'wrongly received.\nDo you want to reload it?') % \
|
||||
_('The file %(file)s has been received, but it seems to have '
|
||||
'been damaged along the way.\nDo you want to download it again?') % \
|
||||
{'file': file_name}, on_response_yes=(on_yes, jid, file_props,
|
||||
account), type_=Gtk.MessageType.ERROR)
|
||||
|
||||
|
@ -308,7 +308,7 @@ class FileTransfersWindow:
|
|||
gajim.config.set('last_send_dir', file_dir)
|
||||
dialog.destroy()
|
||||
|
||||
dialog = dialogs.FileChooserDialog(_('Choose File to Send...'),
|
||||
dialog = dialogs.FileChooserDialog(_('Choose File to Send…'),
|
||||
Gtk.FileChooserAction.OPEN, (Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL),
|
||||
Gtk.ResponseType.OK,
|
||||
True, # select multiple true as we can select many files to send
|
||||
|
@ -338,8 +338,8 @@ class FileTransfersWindow:
|
|||
Start the real transfer(upload) of the file
|
||||
"""
|
||||
if gtkgui_helpers.file_is_locked(file_path):
|
||||
pritext = _('Gajim cannot access this file')
|
||||
sextext = _('This file is being used by another process.')
|
||||
pritext = _('Gajim can not read this file')
|
||||
sextext = _('Another process is using this file.')
|
||||
dialogs.ErrorDialog(pritext, sextext)
|
||||
return
|
||||
|
||||
|
@ -424,7 +424,7 @@ class FileTransfersWindow:
|
|||
gajim.connections[account].send_file_rejection(file_props)
|
||||
|
||||
dialog2 = dialogs.FileChooserDialog(
|
||||
title_text=_('Save File as...'),
|
||||
title_text=_('Save File as…'),
|
||||
action=Gtk.FileChooserAction.SAVE,
|
||||
buttons=(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL,
|
||||
Gtk.STOCK_SAVE, Gtk.ResponseType.OK),
|
||||
|
@ -494,7 +494,7 @@ class FileTransfersWindow:
|
|||
self.model.set(iter_, C_PULSE, GLib.MAXINT32)
|
||||
elif status == 'computing':
|
||||
self.model.set(iter_, C_PULSE, 1)
|
||||
text = _('Checking file...') + '\n'
|
||||
text = _('Checking file…') + '\n'
|
||||
received_size = int(file_props.received_len)
|
||||
full_size = file_props.size
|
||||
text += helpers.convert_bytes(received_size) + '/' + \
|
||||
|
|
|
@ -92,8 +92,7 @@ class GajimRemote:
|
|||
[]
|
||||
],
|
||||
'list_contacts': [
|
||||
_('Prints a list of all contacts in the roster. Each contact '
|
||||
'appears on a separate line'),
|
||||
_('Lists all contacts in roster, one for each line'),
|
||||
[
|
||||
(Q_('?CLI:account'), _('show only contacts of the given account'),
|
||||
False)
|
||||
|
@ -105,7 +104,7 @@ class GajimRemote:
|
|||
[]
|
||||
],
|
||||
'change_status': [
|
||||
_('Changes the status of account or accounts'),
|
||||
_('Changes the status of account(s)'),
|
||||
[
|
||||
#offline, online, chat, away, xa, dnd, invisible should not be translated
|
||||
(Q_('?CLI:status'), _('one of: offline, online, chat, away, xa, dnd, invisible. If not set, use account\'s previous status'), False),
|
||||
|
@ -116,7 +115,7 @@ class GajimRemote:
|
|||
]
|
||||
],
|
||||
'set_priority': [
|
||||
_('Changes the priority of account or accounts'),
|
||||
_('Changes the priority of account(s)'),
|
||||
[
|
||||
(Q_('?CLI:priority'), _('priority you want to give to the account'),
|
||||
True),
|
||||
|
@ -144,21 +143,21 @@ class GajimRemote:
|
|||
[
|
||||
('jid', _('JID of the contact that will receive the message'), True),
|
||||
(Q_('?CLI:message'), _('message contents'), True),
|
||||
(_('pgp key'), _('if specified, the message will be encrypted '
|
||||
(_('PGP key'), _('if specified, the message will be encrypted '
|
||||
'using this public key'), False),
|
||||
(Q_('?CLI:account'), _('if specified, the message will be sent '
|
||||
'using this account'), False),
|
||||
]
|
||||
],
|
||||
'send_single_message': [
|
||||
_('Sends new single message to a contact in the roster. Both OpenPGP key '
|
||||
'and account are optional. If you want to set only \'account\', '
|
||||
'without \'OpenPGP key\', just set \'OpenPGP key\' to \'\'.'),
|
||||
_('Sends a chat message to someone on your roster. '
|
||||
'Optionally with OpenPGP key and account. If you want '
|
||||
'to only set the latter, set OpenPGP key to "".'),
|
||||
[
|
||||
('jid', _('JID of the contact that will receive the message'), True),
|
||||
(_('subject'), _('message subject'), True),
|
||||
(Q_('?CLI:message'), _('message contents'), True),
|
||||
(_('pgp key'), _('if specified, the message will be encrypted '
|
||||
(_('PGP key'), _('if specified, the message will be encrypted '
|
||||
'using this public key'), False),
|
||||
(Q_('?CLI:account'), _('if specified, the message will be sent '
|
||||
'using this account'), False),
|
||||
|
@ -202,7 +201,7 @@ class GajimRemote:
|
|||
_('Sets value of \'key\' to \'value\'.'),
|
||||
[
|
||||
(_('key=value'), _('\'key\' is the name of the preference, '
|
||||
'\'value\' is the value to set it to'), True)
|
||||
'\'value\' is what to set it to'), True)
|
||||
]
|
||||
],
|
||||
'prefs_del': [
|
||||
|
@ -261,8 +260,8 @@ class GajimRemote:
|
|||
_('Sends custom XML'),
|
||||
[
|
||||
('xml', _('XML to send'), True),
|
||||
('account', _('Account in which the xml will be sent; '
|
||||
'if not specified, xml will be sent to all accounts'),
|
||||
('account', _('Account to which the XML will be sent; '
|
||||
'if not specified, XML will be sent to all accounts'),
|
||||
False)
|
||||
]
|
||||
],
|
||||
|
@ -276,7 +275,7 @@ class GajimRemote:
|
|||
]
|
||||
],
|
||||
'handle_uri': [
|
||||
_('Handle a xmpp:/ uri'),
|
||||
_('Handle a xmpp:/ URI'),
|
||||
[
|
||||
(Q_('?CLI:uri'), _('URI to handle'), True),
|
||||
(Q_('?CLI:account'), _('Account in which you want to handle it'),
|
||||
|
@ -399,6 +398,7 @@ class GajimRemote:
|
|||
raise exceptions.SessionBusNotPresent
|
||||
|
||||
if not self.check_gajim_running():
|
||||
#Do not translate "gajim-remote"
|
||||
send_error(_('It seems Gajim is not running. So you can\'t use gajim-remote.'))
|
||||
obj = self.sbus.get_object(SERVICE, OBJ_PATH)
|
||||
interface = dbus.Interface(obj, INTERFACE)
|
||||
|
@ -534,9 +534,9 @@ class GajimRemote:
|
|||
|
||||
def handle_uri(self):
|
||||
if len(sys.argv) < 3:
|
||||
send_error(_('No uri given'))
|
||||
send_error(_('No URI given'))
|
||||
if not sys.argv[2].startswith('xmpp:'):
|
||||
send_error(_('Wrong uri'))
|
||||
send_error(_('Wrong URI'))
|
||||
sys.argv[2] = sys.argv[2][5:]
|
||||
uri = sys.argv[2]
|
||||
if not '?' in uri:
|
||||
|
|
|
@ -96,12 +96,12 @@ MIN_NBXMPP_VER = "0.5.3"
|
|||
try:
|
||||
import nbxmpp
|
||||
except ImportError:
|
||||
print('Gajim needs python-nbxmpp to run. Quiting...')
|
||||
print('Gajim needs python-nbxmpp to run. Quiting…')
|
||||
sys.exit(1)
|
||||
|
||||
from distutils.version import LooseVersion as V
|
||||
if V(nbxmpp.__version__) < V(MIN_NBXMPP_VER):
|
||||
print('Gajim needs python-nbxmpp >= %s to run. Quiting...' % MIN_NBXMPP_VER)
|
||||
print('Gajim needs python-nbxmpp >= %s to run. Quiting…' % MIN_NBXMPP_VER)
|
||||
sys.exit(1)
|
||||
|
||||
from application import GajimApplication
|
||||
|
|
|
@ -96,7 +96,7 @@ class GajimThemesWindow:
|
|||
if old_name == 'default':
|
||||
dialogs.ErrorDialog(
|
||||
_('You cannot make changes to the default theme'),
|
||||
_('Please create a clean new theme with your desired name.'))
|
||||
_('Please create a new clean theme.'))
|
||||
return
|
||||
new_config_name = new_name.replace(' ', '_')
|
||||
if new_config_name in gajim.config.get_per('themes'):
|
||||
|
@ -185,7 +185,7 @@ class GajimThemesWindow:
|
|||
if self.current_theme == gajim.config.get('roster_theme'):
|
||||
dialogs.ErrorDialog(
|
||||
_('You cannot delete your current theme'),
|
||||
_('Please first choose another theme as your current theme.'))
|
||||
_('Pick another theme to use first.'))
|
||||
return
|
||||
self.theme_options_vbox.set_sensitive(False)
|
||||
self.theme_options_table.set_sensitive(False)
|
||||
|
|
|
@ -1333,8 +1333,8 @@ class GroupchatControl(ChatControlBase):
|
|||
if '103' in obj.status_code:
|
||||
changes.append(_('Room now does not show unavailable members'))
|
||||
if '104' in obj.status_code:
|
||||
changes.append(_('A non-privacy-related room configuration change '
|
||||
'has occurred'))
|
||||
changes.append(_('A setting not related to privacy has been '
|
||||
'changed'))
|
||||
if '170' in obj.status_code:
|
||||
# Can be a presence (see chg_contact_status in groupchat_control.py)
|
||||
changes.append(_('Room logging is now enabled'))
|
||||
|
@ -1347,7 +1347,7 @@ class GroupchatControl(ChatControlBase):
|
|||
changes.append(_('Room is now semi-anonymous'))
|
||||
self.is_anonymous = True
|
||||
if '174' in obj.status_code:
|
||||
changes.append(_('Room is now fully-anonymous'))
|
||||
changes.append(_('Room is now fully anonymous'))
|
||||
self.is_anonymous = True
|
||||
|
||||
for change in changes:
|
||||
|
@ -2257,16 +2257,16 @@ class GroupchatControl(ChatControlBase):
|
|||
try:
|
||||
jid = helpers.parse_jid(jid)
|
||||
except Exception:
|
||||
dialogs.ErrorDialog(_('Invalid group chat Jabber ID'),
|
||||
_('The group chat Jabber ID has not allowed characters.'))
|
||||
dialogs.ErrorDialog(_('Invalid group chat JID'),
|
||||
_('The group chat JID has not allowed characters.'))
|
||||
return
|
||||
gajim.connections[self.account].destroy_gc_room(self.room_jid,
|
||||
reason, jid)
|
||||
|
||||
# Ask for a reason
|
||||
dialogs.DoubleInputDialog(_('Destroying %s') % '\u200E' + \
|
||||
self.room_jid, _('You are going to definitively destroy this '
|
||||
'room.\nYou may specify a reason below:'),
|
||||
self.room_jid, _('You are going to remove this room permanently.'
|
||||
'\nYou may specify a reason below:'),
|
||||
_('You may also enter an alternate venue:'), ok_handler=on_ok,
|
||||
transient_for=self.parent_win.window)
|
||||
|
||||
|
|
|
@ -803,7 +803,7 @@ def on_avatar_save_as_menuitem_activate(widget, jid, default_name=''):
|
|||
def on_cancel(widget):
|
||||
dialog.destroy()
|
||||
|
||||
dialog = dialogs.FileChooserDialog(title_text=_('Save Image as...'),
|
||||
dialog = dialogs.FileChooserDialog(title_text=_('Save Image as…'),
|
||||
action=Gtk.FileChooserAction.SAVE, buttons=(Gtk.STOCK_CANCEL,
|
||||
Gtk.ResponseType.CANCEL, Gtk.STOCK_SAVE, Gtk.ResponseType.OK),
|
||||
default_response=Gtk.ResponseType.OK,
|
||||
|
|
|
@ -162,7 +162,7 @@ class Interface:
|
|||
if obj.msg:
|
||||
sec_msg = obj.msg + '\n' + sec_msg
|
||||
dialog = dialogs.YesNoDialog(_('HTTP (%(method)s) Authorization for '
|
||||
'%(url)s (id: %(id)s)') % {'method': obj.method, 'url': obj.url,
|
||||
'%(url)s (ID: %(id)s)') % {'method': obj.method, 'url': obj.url,
|
||||
'id': obj.iq_id}, sec_msg, on_response_yes=(on_yes, obj),
|
||||
on_response_no=(response, obj, 'no'))
|
||||
|
||||
|
@ -303,7 +303,7 @@ class Interface:
|
|||
# maximum user number reached
|
||||
self.handle_gc_error(gc_control,
|
||||
_('Unable to join group chat'),
|
||||
_('Maximum number of users for <b>%s</b> has been reached')\
|
||||
_('<b>%s</b> is full')\
|
||||
% obj.room_jid)
|
||||
elif (obj.errcode == '401') or (obj.errcon == 'not-authorized'):
|
||||
# password required to join
|
||||
|
@ -321,11 +321,11 @@ class Interface:
|
|||
_('Group chat <b>%s</b> does not exist.') % obj.room_jid)
|
||||
elif (obj.errcode == '405') or (obj.errcon == 'not-allowed'):
|
||||
self.handle_gc_error(gc_control, _('Unable to join group chat'),
|
||||
_('Group chat creation is restricted.'))
|
||||
_('Group chat creation is not permitted.'))
|
||||
elif (obj.errcode == '406') or (obj.errcon == 'not-acceptable'):
|
||||
self.handle_gc_error(gc_control, _('Unable to join group chat'),
|
||||
_('Your registered nickname must be used in group chat '
|
||||
'<b>%s</b>.') % obj.room_jid)
|
||||
self.handle_gc_error(gc_control, _('Unable to join groupchat'),
|
||||
_('You must use your registered nickname in <b>%s</b>.')\
|
||||
% obj.room_jid)
|
||||
elif (obj.errcode == '407') or (obj.errcon == \
|
||||
'registration-required'):
|
||||
self.handle_gc_error(gc_control, _('Unable to join group chat'),
|
||||
|
@ -679,12 +679,12 @@ class Interface:
|
|||
'\n')
|
||||
sectext += _('You are currently connected without your OpenPGP '
|
||||
'key.')
|
||||
dialogs.WarningDialog(_('Your passphrase is incorrect'), sectext)
|
||||
dialogs.WarningDialog(_('Wrong passphrase'), sectext)
|
||||
else:
|
||||
path = gtkgui_helpers.get_icon_path('gtk-dialog-warning', 48)
|
||||
account = obj.conn.name
|
||||
notify.popup('warning', account, account, '', path,
|
||||
_('OpenPGP Passphrase Incorrect'),
|
||||
_('Wrong OpenPGP passphrase'),
|
||||
_('You are currently connected without your OpenPGP key.'))
|
||||
self.forget_gpg_passphrase(obj.keyID)
|
||||
|
||||
|
@ -698,7 +698,7 @@ class Interface:
|
|||
obj.secure_tuple)
|
||||
|
||||
dialogs.PassphraseDialog(_('Certificate Passphrase Required'),
|
||||
_('Enter the passphrase for the certificate for account %s') % \
|
||||
_('Enter the certificate passphrase for account %s') % \
|
||||
obj.conn.name, ok_handler=on_ok, cancel_handler=on_cancel)
|
||||
|
||||
def handle_event_gpg_password_required(self, obj):
|
||||
|
@ -720,7 +720,7 @@ class Interface:
|
|||
def on_no():
|
||||
obj.callback(False)
|
||||
|
||||
dialogs.YesNoDialog(_('OpenPGP key not trusted'), _('The OpenPGP key '
|
||||
dialogs.YesNoDialog(_('Untrusted OpenPGP key'), _('The OpenPGP key '
|
||||
'used to encrypt this chat is not trusted. Do you really want to '
|
||||
'encrypt this message?'), checktext=_('_Do not ask me again'),
|
||||
on_response_yes=on_yes, on_response_no=on_no)
|
||||
|
@ -868,10 +868,10 @@ class Interface:
|
|||
if not gajim.config.get('notify_on_new_gmail_email'):
|
||||
return
|
||||
path = gtkgui_helpers.get_icon_path('gajim-new_email_recv', 48)
|
||||
title = _('New mail on %(gmail_mail_address)s') % \
|
||||
title = _('New e-mail on %(gmail_mail_address)s') % \
|
||||
{'gmail_mail_address': jid}
|
||||
text = i18n.ngettext('You have %d new mail conversation',
|
||||
'You have %d new mail conversations', gmail_new_messages,
|
||||
text = i18n.ngettext('You have %d new e-mail conversation',
|
||||
'You have %d new e-mail conversations', gmail_new_messages,
|
||||
gmail_new_messages, gmail_new_messages)
|
||||
|
||||
if gajim.config.get('notify_on_new_gmail_email_extra'):
|
||||
|
@ -1084,8 +1084,8 @@ class Interface:
|
|||
sender).get_shown_name()
|
||||
filename = os.path.basename(file_props.file_name)
|
||||
if event_type == _('File Transfer Completed'):
|
||||
txt = _('You successfully received %(filename)s from '
|
||||
'%(name)s.') % {'filename': filename, 'name': name}
|
||||
txt = _('%(filename)s received from %(name)s.')\
|
||||
% {'filename': filename, 'name': name}
|
||||
img_name = 'gajim-ft_done'
|
||||
elif event_type == _('File Transfer Stopped'):
|
||||
txt = _('File transfer of %(filename)s from %(name)s '
|
||||
|
@ -1376,11 +1376,11 @@ class Interface:
|
|||
|
||||
pritext = _('Error verifying SSL certificate')
|
||||
sectext = _('There was an error verifying the SSL certificate of your '
|
||||
'jabber server: %(error)s\nDo you still want to connect to this '
|
||||
'XMPP server: %(error)s\nDo you still want to connect to this '
|
||||
'server?') % {'error': obj.error_text}
|
||||
if obj.error_num in (18, 27):
|
||||
checktext1 = _('Add this certificate to the list of trusted '
|
||||
'certificates.\nSHA1 fingerprint of the certificate:\n%s'
|
||||
'certificates.\nSHA-1 fingerprint of the certificate:\n%s'
|
||||
'\nSHA256 fingerprint of the certificate:\n%s') % \
|
||||
(obj.fingerprint_sha1, obj.fingerprint_sha256)
|
||||
else:
|
||||
|
@ -1423,7 +1423,7 @@ class Interface:
|
|||
|
||||
pritext = _('SSL certificate error')
|
||||
sectext = _('It seems the SSL certificate of account %(account)s has '
|
||||
'changed and is not valid or your connection is being hacked.\n\n'
|
||||
'changed and is not valid or your connection is being compromised.\n\n'
|
||||
'Old SHA-1 fingerprint: '
|
||||
'%(old_sha1)s\nOld SHA-256 fingerprint: %(old_sha256)s\n\n'
|
||||
'New SHA-1 fingerprint: %(new_sha1)s\nNew SHA-256 fingerprint: '
|
||||
|
|
|
@ -538,7 +538,7 @@ def get_transport_menu(contact, account):
|
|||
menu = Gtk.Menu()
|
||||
|
||||
# Send single message
|
||||
item = Gtk.MenuItem.new_with_mnemonic(_('Send Single _Message...'))
|
||||
item = Gtk.MenuItem.new_with_mnemonic(_('Send Single _Message…'))
|
||||
item.connect('activate', roster.on_send_single_message_menuitem_activate,
|
||||
account, contact)
|
||||
menu.append(item)
|
||||
|
@ -571,7 +571,7 @@ def get_transport_menu(contact, account):
|
|||
menu.append(item)
|
||||
|
||||
# Execute Command
|
||||
item = Gtk.MenuItem.new_with_mnemonic(_('E_xecute Command...'))
|
||||
item = Gtk.MenuItem.new_with_mnemonic(_('E_xecute Command…'))
|
||||
menu.append(item)
|
||||
item.connect('activate', roster.on_execute_command, contact, account,
|
||||
contact.resource)
|
||||
|
@ -592,7 +592,7 @@ def get_transport_menu(contact, account):
|
|||
item.set_sensitive(False)
|
||||
|
||||
# Rename
|
||||
item = Gtk.MenuItem.new_with_mnemonic(_('_Rename...'))
|
||||
item = Gtk.MenuItem.new_with_mnemonic(_('_Rename…'))
|
||||
manage_transport_submenu.append(item)
|
||||
item.connect('activate', roster.on_rename, 'agent', jid, account)
|
||||
if gajim.account_is_disconnected(account):
|
||||
|
|
|
@ -78,7 +78,7 @@ def parseOpts():
|
|||
_('Options:') + \
|
||||
'\n -h, --help ' + \
|
||||
_('Show this help message and exit') + \
|
||||
'\n -c, --config-path ' + _('Set logs directory') + '\n')
|
||||
'\n -c, --config-path ' + _('Choose folder for logfile') + '\n')
|
||||
sys.exit()
|
||||
elif o in ('-c', '--config-path'):
|
||||
config_path = a
|
||||
|
@ -165,7 +165,7 @@ class HistoryManager:
|
|||
self.jids_listview.get_selection().set_mode(Gtk.SelectionMode.MULTIPLE)
|
||||
|
||||
renderer_text = Gtk.CellRendererText() # holds jid
|
||||
col = Gtk.TreeViewColumn(_('Jabber ID'), renderer_text, text=0)
|
||||
col = Gtk.TreeViewColumn(_('JID'), renderer_text, text=0)
|
||||
self.jids_listview.append_column(col)
|
||||
|
||||
self.jids_listview.get_selection().connect('changed',
|
||||
|
@ -266,7 +266,7 @@ class HistoryManager:
|
|||
_('Normally allocated database size will not be freed, '
|
||||
'it will just become reusable. If you really want to reduce '
|
||||
'database filesize, click YES, else click NO.'
|
||||
'\n\nIn case you click YES, please wait...'),
|
||||
'\n\nIn case you click YES, please wait…'),
|
||||
on_response_yes=on_yes, on_response_no=on_no)
|
||||
dialog.set_title(_('Database Cleanup'))
|
||||
button_box = dialog.get_children()[0].get_children()[1]
|
||||
|
@ -483,7 +483,7 @@ class HistoryManager:
|
|||
xml.connect_signals(self)
|
||||
|
||||
dlg = xml.get_object('filechooserdialog')
|
||||
dlg.set_title(_('Exporting History Logs...'))
|
||||
dlg.set_title(_('Exporting History Logs…'))
|
||||
dlg.set_current_folder(gajim.HOME_DIR)
|
||||
dlg.props.do_overwrite_confirmation = True
|
||||
response = dlg.run()
|
||||
|
@ -597,13 +597,13 @@ class HistoryManager:
|
|||
|
||||
if paths_len == 1:
|
||||
jid_id = '<i>%s</i>' % liststore[list_of_paths[0]][0]
|
||||
pri_text = _('Do you really want to delete the logs of %(jid)s?') \
|
||||
pri_text = _('Do you wish to delete all correspondence with %(jid)s?') \
|
||||
% {'jid': jid_id}
|
||||
else:
|
||||
pri_text = _(
|
||||
'Do you really want to delete logs of the selected contacts?')
|
||||
'Do you wish to delete all correspondence with the selected contacts?')
|
||||
dialog = dialogs.ConfirmationDialog('',
|
||||
_('This is an irreversible operation.'), on_response_ok=(on_ok,
|
||||
_('This can not be undone.'), on_response_ok=(on_ok,
|
||||
liststore, list_of_paths))
|
||||
dialog.set_title(_('Deletion Confirmation'))
|
||||
dialog.set_markup(pri_text)
|
||||
|
|
|
@ -914,7 +914,7 @@ class HtmlTextView(Gtk.TextView):
|
|||
text = getattr(tag, 'title', False)
|
||||
if text:
|
||||
if len(text) > 50:
|
||||
text = text[:47] + '...'
|
||||
text = text[:47] + '…'
|
||||
position = w.get_origin()[1:]
|
||||
self.tooltip.show_tooltip(text, 8, position[1] + y)
|
||||
|
||||
|
@ -1284,7 +1284,7 @@ return faciter(n,1)</pre>
|
|||
<p>
|
||||
<strong>examples@example.org wrote:</strong>
|
||||
</p>
|
||||
<p>this cite - bla bla bla, smile- :-) ...</p>
|
||||
<p>this cite - bla bla bla, smile- :-) …</p>
|
||||
</cite>
|
||||
<div>
|
||||
<p>some text</p>
|
||||
|
|
|
@ -45,7 +45,7 @@ def on_suspend(active):
|
|||
return
|
||||
|
||||
# we're going for suspend, let's disconnect
|
||||
log.debug('System suspend detected, disconnecting from network...')
|
||||
log.debug('System suspend detected, disconnecting from network…')
|
||||
for name, conn in gajim.connections.items():
|
||||
if gajim.account_is_connected(name):
|
||||
conn.old_show = gajim.SHOW_LIST[conn.connected]
|
||||
|
|
|
@ -526,9 +526,9 @@ class MessageWindow(object):
|
|||
if window_mode == MessageWindowMgr.ONE_MSG_WINDOW_PERTYPE:
|
||||
# Show the plural form since number of tabs > 1
|
||||
if self.type_ == 'chat':
|
||||
label = _('Chats')
|
||||
label = _('?Noun:Chats')
|
||||
elif self.type_ == 'gc':
|
||||
label = _('Group Chats')
|
||||
label = _('Groupchats')
|
||||
else:
|
||||
label = _('Private Chats')
|
||||
elif window_mode == MessageWindowMgr.ONE_MSG_WINDOW_ALWAYS_WITH_ROSTER:
|
||||
|
|
|
@ -382,7 +382,7 @@ class DesktopNotification:
|
|||
if self.text:
|
||||
text = self.text
|
||||
if len(self.text) > 200:
|
||||
text = '%s\n...' % self.text[:200]
|
||||
text = '%s\n…' % self.text[:200]
|
||||
else:
|
||||
text = ' '
|
||||
if os.environ.get('KDE_FULL_SESSION') == 'true':
|
||||
|
|
|
@ -60,7 +60,7 @@ class ProfileWindow:
|
|||
self.avatar_mime_type = None
|
||||
self.avatar_encoded = None
|
||||
self.message_id = self.statusbar.push(self.context_id,
|
||||
_('Retrieving profile...'))
|
||||
_('Retrieving profile…'))
|
||||
self.update_progressbar_timeout_id = GLib.timeout_add(100,
|
||||
self.update_progressbar)
|
||||
self.remove_statusbar_timeout_id = None
|
||||
|
@ -386,7 +386,7 @@ class ProfileWindow:
|
|||
gajim.nicks[self.account] = nick
|
||||
gajim.connections[self.account].send_vcard(vcard_)
|
||||
self.message_id = self.statusbar.push(self.context_id,
|
||||
_('Sending profile...'))
|
||||
_('Sending profile…'))
|
||||
self.progressbar.show()
|
||||
self.update_progressbar_timeout_id = GLib.timeout_add(100,
|
||||
self.update_progressbar)
|
||||
|
|
|
@ -2068,8 +2068,8 @@ class RosterWindow:
|
|||
Authorize a contact (by re-sending auth menuitem)
|
||||
"""
|
||||
gajim.connections[account].send_authorization(jid)
|
||||
dialogs.InformationDialog(_('Authorization has been sent'),
|
||||
_('Now "%s" will know your status.') %jid)
|
||||
dialogs.InformationDialog(_('Authorization sent'),
|
||||
_('"%s" will now see your status.') %jid)
|
||||
|
||||
def req_sub(self, widget, jid, txt, account, groups=None, nickname=None,
|
||||
auto_auth=False):
|
||||
|
@ -2107,7 +2107,7 @@ class RosterWindow:
|
|||
Revoke a contact's authorization
|
||||
"""
|
||||
gajim.connections[account].refuse_authorization(jid)
|
||||
dialogs.InformationDialog(_('Authorization has been removed'),
|
||||
dialogs.InformationDialog(_('Authorization removed'),
|
||||
_('Now "%s" will always see you as offline.') %jid)
|
||||
|
||||
def set_state(self, account, state):
|
||||
|
@ -2982,7 +2982,7 @@ class RosterWindow:
|
|||
pritext = _('You are about to block a contact. Are you sure you want'
|
||||
' to continue?')
|
||||
sectext = _('This contact will see you offline and you will not '
|
||||
'receive messages he will send you.')
|
||||
'receive messages it sends you.')
|
||||
dialogs.ConfirmationDialogCheck(pritext, sectext,
|
||||
_('_Do not ask me again'), on_response_ok=_block_it)
|
||||
|
||||
|
@ -3661,7 +3661,7 @@ class RosterWindow:
|
|||
pritext = _('You are about to send a custom status. Are you sure you '
|
||||
'want to continue?')
|
||||
sectext = _('This contact will temporarily see you as %(status)s, '
|
||||
'but only until you change your status. Then he or she will see '
|
||||
'but only until you change your status. Then they will see '
|
||||
'your global status.') % {'status': show}
|
||||
dialogs.ConfirmationDialogCheck(pritext, sectext,
|
||||
_('_Do not ask me again'), on_response_ok=send_it)
|
||||
|
@ -4490,7 +4490,7 @@ class RosterWindow:
|
|||
'want to continue?')
|
||||
sectext = _('Metacontacts are a way to regroup several contacts in one '
|
||||
'line. Generally it is used when the same person has several '
|
||||
'Jabber accounts or transport accounts.')
|
||||
'XMPP accounts or transport accounts.')
|
||||
dlg = dialogs.ConfirmationDialogCheck(pritext, sectext,
|
||||
_('_Do not ask me again'), on_response_ok=merge_contacts)
|
||||
if not confirm_metacontacts: # First time we see this window
|
||||
|
@ -5363,7 +5363,7 @@ class RosterWindow:
|
|||
newitem = Gtk.SeparatorMenuItem.new() # separator
|
||||
gc_sub_menu.append(newitem)
|
||||
|
||||
newitem = Gtk.MenuItem.new_with_mnemonic(_('_Manage Bookmarks...'))
|
||||
newitem = Gtk.MenuItem.new_with_mnemonic(_('_Manage Bookmarks…'))
|
||||
newitem.connect('activate', self.on_manage_bookmarks_menuitem_activate)
|
||||
gc_sub_menu.append(newitem)
|
||||
gc_sub_menu.show_all()
|
||||
|
@ -5513,7 +5513,7 @@ class RosterWindow:
|
|||
self.on_publish_location_toggled)
|
||||
|
||||
pep_config = Gtk.MenuItem.new_with_label(
|
||||
_('Configure Services...'))
|
||||
_('Configure Services…'))
|
||||
item = Gtk.SeparatorMenuItem.new()
|
||||
pep_submenu.append(item)
|
||||
pep_config.set_sensitive(True)
|
||||
|
@ -5722,7 +5722,7 @@ class RosterWindow:
|
|||
menu.append(item)
|
||||
|
||||
# Rename
|
||||
rename_item = Gtk.MenuItem.new_with_mnemonic(_('_Rename...'))
|
||||
rename_item = Gtk.MenuItem.new_with_mnemonic(_('_Rename…'))
|
||||
menu.append(rename_item)
|
||||
rename_item.connect('activate', self.on_rename, 'group', group,
|
||||
account)
|
||||
|
@ -5845,7 +5845,7 @@ class RosterWindow:
|
|||
menu.append(item)
|
||||
|
||||
# Edit Groups
|
||||
edit_groups_item = Gtk.MenuItem.new_with_mnemonic(_('Edit _Groups...'))
|
||||
edit_groups_item = Gtk.MenuItem.new_with_mnemonic(_('Edit _Groups…'))
|
||||
manage_contacts_submenu.append(edit_groups_item)
|
||||
edit_groups_item.connect('activate', self.on_edit_groups, list_)
|
||||
|
||||
|
@ -6296,7 +6296,7 @@ class RosterWindow:
|
|||
img.set_from_file(path)
|
||||
# sensitivity to False because by default we're offline
|
||||
self.status_message_menuitem_iter = liststore.append(
|
||||
[_('Change Status Message...'), img, '', False])
|
||||
[_('Change Status Message…'), img, '', False])
|
||||
# Add a Separator (self._iter_is_separator() checks on string SEPARATOR)
|
||||
liststore.append(['SEPARATOR', None, '', True])
|
||||
|
||||
|
|
|
@ -232,7 +232,7 @@ class StatusIcon:
|
|||
item = Gtk.SeparatorMenuItem.new()
|
||||
sub_menu.append(item)
|
||||
|
||||
item = Gtk.MenuItem.new_with_mnemonic(_('_Change Status Message...'))
|
||||
item = Gtk.MenuItem.new_with_mnemonic(_('_Change Status Message…'))
|
||||
sub_menu.append(item)
|
||||
item.connect('activate', self.on_change_status_message_activate)
|
||||
|
||||
|
@ -332,7 +332,7 @@ class StatusIcon:
|
|||
|
||||
newitem = Gtk.SeparatorMenuItem.new() # separator
|
||||
gc_sub_menu.append(newitem)
|
||||
newitem = Gtk.MenuItem.new_with_mnemonic(_('_Manage Bookmarks...'))
|
||||
newitem = Gtk.MenuItem.new_with_mnemonic(_('_Manage Bookmarks…'))
|
||||
newitem.connect('activate',
|
||||
gajim.interface.roster.on_manage_bookmarks_menuitem_activate)
|
||||
gc_sub_menu.append(newitem)
|
||||
|
|
|
@ -835,13 +835,13 @@ class FileTransfersTooltip(BaseTooltip):
|
|||
file_name = file_props.name
|
||||
properties.append((_('Name: '), GLib.markup_escape_text(file_name)))
|
||||
if file_props.type_ == 'r':
|
||||
type_ = _('Download')
|
||||
type_ = _('?Noun:Download')
|
||||
actor = _('Sender: ')
|
||||
sender = file_props.sender.split('/')[0]
|
||||
name = gajim.contacts.get_first_contact_from_jid(
|
||||
file_props.tt_account, sender).get_shown_name()
|
||||
else:
|
||||
type_ = _('Upload')
|
||||
type_ = _('?Noun:Upload')
|
||||
actor = _('Recipient: ')
|
||||
receiver = file_props.receiver
|
||||
if hasattr(receiver, 'name'):
|
||||
|
|
|
@ -438,13 +438,13 @@ class VcardWindow:
|
|||
subscription_label.set_text(uf_sub)
|
||||
eb = self.xml.get_object('subscription_label_eventbox')
|
||||
if self.contact.sub == 'from':
|
||||
tt_text = _("This contact is interested in your presence information, but you are not interested in his/her presence")
|
||||
tt_text = _("This contact is interested in your presence information, but you are not interested in their presence")
|
||||
elif self.contact.sub == 'to':
|
||||
tt_text = _("You are interested in the contact's presence information, but he/she is not interested in yours")
|
||||
tt_text = _("You are interested in the contact's presence information, but it is not mutual")
|
||||
elif self.contact.sub == 'both':
|
||||
tt_text = _("You and the contact are interested in each other's presence information")
|
||||
tt_text = _("The contact and you want to exchange presence information")
|
||||
else: # None
|
||||
tt_text = _("You are not interested in the contact's presence, and neither he/she is interested in yours")
|
||||
tt_text = _("You and the contact have a mutual disinterest in each-others presence information")
|
||||
eb.set_tooltip_text(tt_text)
|
||||
|
||||
uf_ask = helpers.get_uf_ask(self.contact.ask)
|
||||
|
|
Loading…
Reference in New Issue