Update strings for better english. Thanks to Allan Nordhøy for the suggestions

This commit is contained in:
Yann Leboulanger 2017-02-04 23:29:45 +01:00
parent 92f52bbcbd
commit d338572271
38 changed files with 174 additions and 175 deletions

View File

@ -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

View File

@ -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

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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 &lt;currently unused, so it's hidden by default&gt;</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>

View File

@ -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),

View File

@ -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,

View File

@ -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'))

View File

@ -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()

View File

@ -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.

View File

@ -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.')],

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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:

View File

@ -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:

View File

@ -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

View File

@ -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()

View File

@ -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,

View File

@ -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) + '/' + \

View File

@ -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:

View File

@ -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

View File

@ -95,8 +95,8 @@ class GajimThemesWindow:
return
if old_name == 'default':
dialogs.ErrorDialog(
_('You cannot make changes to the default theme'),
_('Please create a clean new theme with your desired name.'))
_('You cannot make changes to the default theme'),
_('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)

View File

@ -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)

View File

@ -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,

View File

@ -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: '

View File

@ -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):

View File

@ -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)

View File

@ -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>

View File

@ -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]

View File

@ -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:

View File

@ -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':

View File

@ -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)

View File

@ -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,8 +2107,8 @@ class RosterWindow:
Revoke a contact's authorization
"""
gajim.connections[account].refuse_authorization(jid)
dialogs.InformationDialog(_('Authorization has been removed'),
_('Now "%s" will always see you as offline.') %jid)
dialogs.InformationDialog(_('Authorization removed'),
_('Now "%s" will always see you as offline.') %jid)
def set_state(self, account, state):
child_iterA = self._get_account_iter(account, self.model)
@ -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])

View File

@ -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)

View File

@ -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'):

View File

@ -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)