improve some strings
This commit is contained in:
parent
f7d9c16735
commit
faa88819a1
|
@ -3,11 +3,11 @@ Categories=Network;InstantMessaging;GTK;GNOME;
|
||||||
Name=Gajim
|
Name=Gajim
|
||||||
GenericName=Jabber IM Client
|
GenericName=Jabber IM Client
|
||||||
Comment=A GTK+ Jabber client
|
Comment=A GTK+ Jabber client
|
||||||
# Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
|
#Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
|
||||||
Keywords=chat;messaging;im;xmpp;bonjour;voip;
|
Keywords=chat;messaging;im;xmpp;bonjour;voip;
|
||||||
Version=1.0
|
Version=1.0
|
||||||
Exec=gajim %u
|
Exec=gajim %u
|
||||||
# Translators: Do NOT translate or transliterate this text (this is an icon file name)!
|
#Translators: Do NOT translate or transliterate this text (this is an icon file name)!
|
||||||
Icon=org.gajim.Gajim
|
Icon=org.gajim.Gajim
|
||||||
StartupNotify=true
|
StartupNotify=true
|
||||||
StartupWMClass=Gajim
|
StartupWMClass=Gajim
|
||||||
|
|
|
@ -922,7 +922,7 @@ class ChatControl(ChatControlBase):
|
||||||
if not self.session.verified_identity:
|
if not self.session.verified_identity:
|
||||||
ChatControlBase.print_conversation_line(self, _("Remote contact's identity not verified. Click the shield button for more details."), 'status', '', None)
|
ChatControlBase.print_conversation_line(self, _("Remote contact's identity not verified. Click the shield button for more details."), 'status', '', None)
|
||||||
else:
|
else:
|
||||||
msg = _('E2E encryption disabled')
|
msg = _('end-to-end encryption disabled')
|
||||||
ChatControlBase.print_conversation_line(self, msg, 'status', '', None)
|
ChatControlBase.print_conversation_line(self, msg, 'status', '', None)
|
||||||
|
|
||||||
self._show_lock_image(e2e_is_active, 'E2E',
|
self._show_lock_image(e2e_is_active, 'E2E',
|
||||||
|
|
|
@ -1170,8 +1170,8 @@ class ChatControlBase(MessageControl, ChatCommandProcessor, CommandTools):
|
||||||
contact = app.contacts.get_contact(self.account, gc_contact.jid)
|
contact = app.contacts.get_contact(self.account, gc_contact.jid)
|
||||||
if not contact or contact.sub not in ('both', 'to'):
|
if not contact or contact.sub not in ('both', 'to'):
|
||||||
prim_text = _('Really send file?')
|
prim_text = _('Really send file?')
|
||||||
sec_text = _('If you send a file to %s, he/she will know your '
|
sec_text = _('If you send a file to %s, your real JID will '
|
||||||
'real JID.') % gc_contact.name
|
'be revealed.') % gc_contact.name
|
||||||
dialog = dialogs.NonModalConfirmationDialog(prim_text,
|
dialog = dialogs.NonModalConfirmationDialog(prim_text,
|
||||||
sec_text, on_response_ok=(_on_ok, gc_contact))
|
sec_text, on_response_ok=(_on_ok, gc_contact))
|
||||||
dialog.popup()
|
dialog.popup()
|
||||||
|
|
|
@ -296,7 +296,7 @@ class StandardGroupChatCommands(CommandContainer):
|
||||||
'room_jid': self.room_jid}
|
'room_jid': self.room_jid}
|
||||||
|
|
||||||
@command(raw=True, empty=True)
|
@command(raw=True, empty=True)
|
||||||
@doc(_("Join a group chat given by a jid"))
|
@doc(_("Join a group chat given by a JID"))
|
||||||
def join(self, jid):
|
def join(self, jid):
|
||||||
if '@' not in jid:
|
if '@' not in jid:
|
||||||
jid = jid + '@' + app.get_server_from_jid(self.room_jid)
|
jid = jid + '@' + app.get_server_from_jid(self.room_jid)
|
||||||
|
@ -310,9 +310,9 @@ class StandardGroupChatCommands(CommandContainer):
|
||||||
|
|
||||||
@command(raw=True, empty=True)
|
@command(raw=True, empty=True)
|
||||||
@doc(_("""
|
@doc(_("""
|
||||||
Ban user by a nick or a jid from a groupchat
|
Ban user by a nick or a JID from a groupchat
|
||||||
|
|
||||||
If given nickname is not found it will be treated as a jid.
|
If given nickname is not found it will be treated as a JID.
|
||||||
"""))
|
"""))
|
||||||
def ban(self, who, reason):
|
def ban(self, who, reason):
|
||||||
if who in app.contacts.get_nick_list(self.account, self.room_jid):
|
if who in app.contacts.get_nick_list(self.account, self.room_jid):
|
||||||
|
|
|
@ -127,7 +127,7 @@ class Config:
|
||||||
'ascii_emoticons': [opt_bool, True, _('Enable ASCII emoticons'), True],
|
'ascii_emoticons': [opt_bool, True, _('Enable ASCII emoticons'), True],
|
||||||
'ascii_formatting': [ opt_bool, True,
|
'ascii_formatting': [ opt_bool, True,
|
||||||
_('Treat * / _ pairs as possible formatting characters.'), True],
|
_('Treat * / _ pairs as possible formatting characters.'), True],
|
||||||
'show_ascii_formatting_chars': [ opt_bool, True, _('If True, do not '
|
'show_ascii_formatting_chars': [ opt_bool, True, _('If true, do not '
|
||||||
'remove */_ . So *abc* will be bold but with * * not removed.')],
|
'remove */_ . So *abc* will be bold but with * * not removed.')],
|
||||||
'rst_formatting_outgoing_messages': [ opt_bool, False,
|
'rst_formatting_outgoing_messages': [ opt_bool, False,
|
||||||
_('Uses ReStructured text markup to send HTML, plus ascii formatting if selected. For syntax, see http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html (If you want to use this, install docutils)')],
|
_('Uses ReStructured text markup to send HTML, plus ascii formatting if selected. For syntax, see http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html (If you want to use this, install docutils)')],
|
||||||
|
@ -162,7 +162,7 @@ class Config:
|
||||||
'single-msg-y-position': [opt_int, 0],
|
'single-msg-y-position': [opt_int, 0],
|
||||||
'single-msg-width': [opt_int, 400],
|
'single-msg-width': [opt_int, 400],
|
||||||
'single-msg-height': [opt_int, 280],
|
'single-msg-height': [opt_int, 280],
|
||||||
'save-roster-position': [opt_bool, True, _('If True, Gajim will save roster position when hiding roster, and restore it when showing roster.')],
|
'save-roster-position': [opt_bool, True, _('If true, Gajim will save roster position when hiding roster, and restore it when showing roster.')],
|
||||||
'roster_x-position': [ opt_int, 0 ],
|
'roster_x-position': [ opt_int, 0 ],
|
||||||
'roster_y-position': [ opt_int, 0 ],
|
'roster_y-position': [ opt_int, 0 ],
|
||||||
'roster_width': [ opt_int, 200 ],
|
'roster_width': [ opt_int, 200 ],
|
||||||
|
@ -184,13 +184,13 @@ class Config:
|
||||||
'muc_restore_lines': [opt_int, 100, _('How many lines to request from server when entering a groupchat. -1 means no limit')],
|
'muc_restore_lines': [opt_int, 100, _('How many lines to request from server when entering a groupchat. -1 means no limit')],
|
||||||
'muc_restore_timeout': [opt_int, -1, _('Minutes of backlog to request when entering a groupchat. -1 means no limit')],
|
'muc_restore_timeout': [opt_int, -1, _('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_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?')],
|
'muc_autorejoin_on_kick': [opt_bool, False, _('Should autorejoin be activated when 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).')],
|
'send_on_ctrl_enter': [opt_bool, False, _('Send message on Ctrl+Enter and with Enter make new line (Mirabilis ICQ Client default behaviour).')],
|
||||||
'last_roster_visible': [opt_bool, True],
|
'last_roster_visible': [opt_bool, True],
|
||||||
'key_up_lines': [opt_int, 25, _('How many lines to store for Ctrl+KeyUP.')],
|
'key_up_lines': [opt_int, 25, _('How many lines to store for Ctrl+KeyUP.')],
|
||||||
'version': [ opt_str, gajim.__version__ ], # which version created the config
|
'version': [ opt_str, gajim.__version__ ], # which version created the config
|
||||||
'search_engine': [opt_str, 'https://www.google.com/search?&q=%s&sourceid=gajim'],
|
'search_engine': [opt_str, 'https://www.google.com/search?&q=%s&sourceid=gajim'],
|
||||||
'dictionary_url': [opt_str, 'WIKTIONARY', _("Either custom url with %%s in it where %%s is the word/phrase or 'WIKTIONARY' which means use wiktionary.")],
|
'dictionary_url': [opt_str, 'WIKTIONARY', _("Either custom URL with %%s in it where %%s is the word/phrase or 'WIKTIONARY' which means use Wikitionary.")],
|
||||||
'always_english_wikipedia': [opt_bool, False],
|
'always_english_wikipedia': [opt_bool, False],
|
||||||
'always_english_wiktionary': [opt_bool, True],
|
'always_english_wiktionary': [opt_bool, True],
|
||||||
'remote_control': [opt_bool, False, _('If checked, Gajim can be controlled remotely using gajim-remote.'), True],
|
'remote_control': [opt_bool, False, _('If checked, Gajim can be controlled remotely using gajim-remote.'), True],
|
||||||
|
@ -204,7 +204,7 @@ class Config:
|
||||||
'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)')],
|
'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],
|
'notify_on_file_complete': [opt_bool, True],
|
||||||
'file_transfers_port': [opt_int, 28011],
|
'file_transfers_port': [opt_int, 28011],
|
||||||
'ft_add_hosts_to_send': [opt_str, '', _('Comma separated list of hosts that we send, in addition of local interfaces, for File Transfer in case of address translation/port forwarding.')],
|
'ft_add_hosts_to_send': [opt_str, '', _('Comma separated list of sent hosts, in addition of local interfaces, for File Transfer in case of address translation/port forwarding.')],
|
||||||
'conversation_font': [opt_str, ''],
|
'conversation_font': [opt_str, ''],
|
||||||
'use_kib_mib': [opt_bool, False, _('IEC standard says KiB = 1024 bytes, KB = 1000 bytes.')],
|
'use_kib_mib': [opt_bool, False, _('IEC standard says KiB = 1024 bytes, KB = 1000 bytes.')],
|
||||||
'notify_on_all_muc_messages': [opt_bool, False],
|
'notify_on_all_muc_messages': [opt_bool, False],
|
||||||
|
@ -235,10 +235,10 @@ class Config:
|
||||||
'notification_position_x': [opt_int, -1],
|
'notification_position_x': [opt_int, -1],
|
||||||
'notification_position_y': [opt_int, -1],
|
'notification_position_y': [opt_int, -1],
|
||||||
'muc_highlight_words': [opt_str, '', _('A semicolon-separated list of words that will be highlighted in group chats.')],
|
'muc_highlight_words': [opt_str, '', _('A semicolon-separated list of words that will be highlighted in group chats.')],
|
||||||
'quit_on_roster_x_button': [opt_bool, False, _('If True, quits Gajim when X button of Window Manager is clicked. This setting is taken into account only if notification icon is used.')],
|
'quit_on_roster_x_button': [opt_bool, False, _('If true, quits Gajim when X button of Window Manager is clicked. This setting is taken into account only if notification icon is used.')],
|
||||||
'hide_on_roster_x_button': [opt_bool, False, _('If True, Gajim hides the Roster window on pressing the X button instead of minimizing into the Dock.')],
|
'hide_on_roster_x_button': [opt_bool, False, _('If true, Gajim hides the Roster window on pressing the X button instead of minimizing into the Dock.')],
|
||||||
'show_unread_tab_icon': [opt_bool, False, _('If True, Gajim will display an icon on each tab containing unread messages. Depending on the theme, this icon may be animated.')],
|
'show_unread_tab_icon': [opt_bool, False, _('If true, Gajim will display an icon on each tab containing unread messages. Depending on the theme, this icon may be animated.')],
|
||||||
'show_status_msgs_in_roster': [opt_bool, True, _('If True, Gajim will display the status message, if not empty, for every contact under the contact name in roster window.'), True],
|
'show_status_msgs_in_roster': [opt_bool, True, _('If true, Gajim will display the status message, if not empty, for every contact under the contact name in roster window.'), True],
|
||||||
'show_avatars_in_roster': [opt_bool, True, '', True],
|
'show_avatars_in_roster': [opt_bool, True, '', True],
|
||||||
'show_mood_in_roster': [opt_bool, True, '', True],
|
'show_mood_in_roster': [opt_bool, True, '', True],
|
||||||
'show_activity_in_roster': [opt_bool, True, '', True],
|
'show_activity_in_roster': [opt_bool, True, '', True],
|
||||||
|
@ -252,10 +252,10 @@ class Config:
|
||||||
'just_connected_bg_color': [opt_str, '#adc3c6', _('Background color of contacts when they just signed in.')],
|
'just_connected_bg_color': [opt_str, '#adc3c6', _('Background color of contacts when they just signed in.')],
|
||||||
'just_disconnected_bg_color': [opt_str, '#ab6161', _('Background color of contacts when they just signed out.')],
|
'just_disconnected_bg_color': [opt_str, '#ab6161', _('Background color of contacts when they just signed out.')],
|
||||||
'restored_messages_color': [opt_color, '#555753'],
|
'restored_messages_color': [opt_color, '#555753'],
|
||||||
'restored_messages_small': [opt_bool, True, _('If True, restored messages will use a smaller font than the default one.')],
|
'restored_messages_small': [opt_bool, True, _('If true, restored messages will use a smaller font than the default one.')],
|
||||||
'hide_avatar_of_transport': [opt_bool, False, _('Don\'t show avatar for the transport itself.')],
|
'hide_avatar_of_transport': [opt_bool, False, _('Don\'t show avatar for the transport itself.')],
|
||||||
'roster_window_skip_taskbar': [opt_bool, False, _('Don\'t show roster in the system taskbar.')],
|
'roster_window_skip_taskbar': [opt_bool, False, _('Don\'t show roster in the system taskbar.')],
|
||||||
'use_urgency_hint': [opt_bool, True, _('If True and installed GTK+ and PyGTK versions are at least 2.8, make the window flash (the default behaviour in most Window Managers) when holding pending events.')],
|
'use_urgency_hint': [opt_bool, True, _('If true and installed GTK+ and PyGTK versions are at least 2.8, make the window flash (the default behaviour in most Window Managers) when holding pending events.')],
|
||||||
'notification_timeout': [opt_int, 5],
|
'notification_timeout': [opt_int, 5],
|
||||||
'send_sha_in_gc_presence': [opt_bool, True, _('Jabberd1.4 does not like sha info when one join a password protected group chat. Turn this option to False to stop sending sha info in group chat presences.')],
|
'send_sha_in_gc_presence': [opt_bool, True, _('Jabberd1.4 does not like sha info when one join a password protected group chat. Turn this option to False to stop sending sha info in group chat presences.')],
|
||||||
'one_message_window': [opt_str, 'always',
|
'one_message_window': [opt_str, 'always',
|
||||||
|
@ -263,7 +263,7 @@ class Config:
|
||||||
_('Controls the window where new messages are placed.\n\'always\' - All messages are sent to a single window.\n\'always_with_roster\' - Like \'always\' but the messages are in a single window along with the roster.\n\'never\' - All messages get their own window.\n\'peracct\' - Messages for each account are sent to a specific window.\n\'pertype\' - Each message type (e.g. chats vs. groupchats) is sent to a specific window.')],
|
_('Controls the window where new messages are placed.\n\'always\' - All messages are sent to a single window.\n\'always_with_roster\' - Like \'always\' but the messages are in a single window along with the roster.\n\'never\' - All messages get their own window.\n\'peracct\' - Messages for each account are sent to a specific window.\n\'pertype\' - Each message type (e.g. chats vs. groupchats) is sent to a specific window.')],
|
||||||
'show_roster_on_startup':[opt_str, 'always', _('Show roster on startup.\n\'always\' - Always show roster.\n\'never\' - Never show roster.\n\'last_state\' - Restore the last state roster.')],
|
'show_roster_on_startup':[opt_str, 'always', _('Show roster on startup.\n\'always\' - Always show roster.\n\'never\' - Never show roster.\n\'last_state\' - Restore the last state roster.')],
|
||||||
'show_avatar_in_chat': [opt_bool, True, _('If False, you will no longer see the avatar in the chat window.')],
|
'show_avatar_in_chat': [opt_bool, True, _('If False, you will no longer see the avatar in the chat window.')],
|
||||||
'escape_key_closes': [opt_bool, True, _('If True, pressing the escape key closes a tab/window.')],
|
'escape_key_closes': [opt_bool, True, _('If true, pressing the escape key closes a tab/window.')],
|
||||||
'hide_groupchat_banner': [opt_bool, False, _('Hides the banner in a group chat window')],
|
'hide_groupchat_banner': [opt_bool, False, _('Hides the banner in a group chat window')],
|
||||||
'hide_chat_banner': [opt_bool, False, _('Hides the banner in two persons chat window')],
|
'hide_chat_banner': [opt_bool, False, _('Hides the banner in two persons chat window')],
|
||||||
'hide_groupchat_occupants_list': [opt_bool, False, _('Hides the group chat occupants list in group chat window.')],
|
'hide_groupchat_occupants_list': [opt_bool, False, _('Hides the group chat occupants list in group chat window.')],
|
||||||
|
@ -271,19 +271,19 @@ class Config:
|
||||||
'chat_merge_consecutive_nickname_indent': [opt_str, ' ', _('Indentation when using merge consecutive nickname.')],
|
'chat_merge_consecutive_nickname_indent': [opt_str, ' ', _('Indentation when using merge consecutive nickname.')],
|
||||||
'gc_nicknames_colors': [ opt_str, '#4e9a06:#f57900:#ce5c00:#3465a4:#204a87:#75507b:#5c3566:#c17d11:#8f5902:#ef2929:#cc0000:#a40000', _('List of colors, separated by ":", that will be used to color nicknames in group chats.'), True ],
|
'gc_nicknames_colors': [ opt_str, '#4e9a06:#f57900:#ce5c00:#3465a4:#204a87:#75507b:#5c3566:#c17d11:#8f5902:#ef2929:#cc0000:#a40000', _('List of colors, separated by ":", that will be used to color nicknames in group chats.'), True ],
|
||||||
'ctrl_tab_go_to_next_composing': [opt_bool, True, _('Ctrl-Tab go to next composing tab when none is unread.')],
|
'ctrl_tab_go_to_next_composing': [opt_bool, True, _('Ctrl-Tab go to next composing tab when none is unread.')],
|
||||||
'confirm_metacontacts': [ opt_str, '', _('Should we show the confirm metacontacts creation dialog or not? Empty string means we never show the dialog.')],
|
'confirm_metacontacts': [ opt_str, '', _('Show the confirm metacontacts creation dialog or not? Empty string means never show the dialog.')],
|
||||||
'confirm_block': [ opt_str, '', _('Should we show the confirm block contact dialog or not? Empty string means we never show the dialog.')],
|
'confirm_block': [ opt_str, '', _('Show the confirm block contact dialog or not? Empty string means never show the dialog.')],
|
||||||
'confirm_custom_status': [ opt_str, '', _('Should we show the confirm custom status dialog or not? Empty string means we never show the dialog.')],
|
'confirm_custom_status': [ opt_str, '', _('Show the confirm custom status dialog or not? Empty string means never show the dialog.')],
|
||||||
'enable_negative_priority': [ opt_bool, False, _('If True, you will be able to set a negative priority to your account in account modification window. BE CAREFUL, when you are logged in with a negative priority, you will NOT receive any message from your server.')],
|
'enable_negative_priority': [ opt_bool, False, _('If true, you will be able to set a negative priority to your account in account modification window. BE CAREFUL, when you are logged in with a negative priority, you will NOT receive any message from your server.')],
|
||||||
'show_contacts_number': [opt_bool, True, _('If True, Gajim will show number of online and total contacts in account and group rows.')],
|
'show_contacts_number': [opt_bool, True, _('If true, Gajim will show number of online and total contacts in account and group rows.')],
|
||||||
'treat_incoming_messages': [ opt_str, '', _('Can be empty, \'chat\' or \'normal\'. If not empty, treat all incoming messages as if they were of this type')],
|
'treat_incoming_messages': [ opt_str, '', _('Can be empty, \'chat\' or \'normal\'. If not empty, treat all incoming messages as if they were of this type')],
|
||||||
'scroll_roster_to_last_message': [opt_bool, True, _('If True, Gajim will scroll and select the contact who sent you the last message, if chat window is not already opened.')],
|
'scroll_roster_to_last_message': [opt_bool, True, _('If true, Gajim will scroll and select the contact who sent you the last message, if chat window is not already opened.')],
|
||||||
'change_status_window_timeout': [opt_int, 15, _('Time of inactivity needed before the change status window closes down.')],
|
'change_status_window_timeout': [opt_int, 15, _('Time of inactivity needed before the change status window closes down.')],
|
||||||
'max_conversation_lines': [opt_int, 500, _('Maximum number of lines that are printed in conversations. Oldest lines are cleared.')],
|
'max_conversation_lines': [opt_int, 500, _('Maximum number of lines that are printed in conversations. Oldest lines are cleared.')],
|
||||||
'attach_notifications_to_systray': [opt_bool, False, _('If True, notification windows from notification-daemon will be attached to notification icon.')],
|
'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.')],
|
'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:// aesgcm://', _('Valid uri schemes. Only schemes in this list will be accepted as "real" uri. (mailto and xmpp are handled separately)'), True],
|
'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:// aesgcm://', _('Valid uri schemes. Only schemes in this list will be accepted as "real" uri. (mailto and xmpp are handled separately)'), True],
|
||||||
'shell_like_completion': [ opt_bool, False, _('If True, completion in groupchats will be like a shell auto-completion')],
|
'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],
|
'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'],
|
'audio_input_device': [opt_str, 'autoaudiosrc ! volume name=gajim_vol'],
|
||||||
'audio_output_device': [opt_str, 'autoaudiosink'],
|
'audio_output_device': [opt_str, 'autoaudiosink'],
|
||||||
|
@ -291,20 +291,20 @@ class Config:
|
||||||
'video_output_device': [opt_str, 'autovideosink'],
|
'video_output_device': [opt_str, 'autovideosink'],
|
||||||
'video_framerate': [opt_str, '', _('Optionally fix jingle output video framerate. Example: 10/1 or 25/2')],
|
'video_framerate': [opt_str, '', _('Optionally fix jingle output video framerate. Example: 10/1 or 25/2')],
|
||||||
'video_size': [opt_str, '', _('Optionally resize jingle output video. Example: 320x240')],
|
'video_size': [opt_str, '', _('Optionally resize jingle output video. Example: 320x240')],
|
||||||
'video_see_self': [opt_bool, True, _('If True, You will also see your webcam')],
|
'video_see_self': [opt_bool, True, _('If true, You will also see your webcam')],
|
||||||
'audio_input_volume': [opt_int, 50],
|
'audio_input_volume': [opt_int, 50],
|
||||||
'audio_output_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 XMPP server.')],
|
'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')],
|
'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')],
|
'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')],
|
'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").')],
|
'ignore_incoming_attention': [opt_bool, False, _('If true, Gajim will ignore incoming attention requestd ("wizz").')],
|
||||||
'remember_opened_chat_controls': [ opt_bool, True, _('If enabled, Gajim will reopen chat windows that were opened last time Gajim was closed.')],
|
'remember_opened_chat_controls': [ opt_bool, True, _('If enabled, Gajim will reopen chat windows that were opened last time Gajim was closed.')],
|
||||||
'positive_184_ack': [ opt_bool, False, _('If enabled, Gajim will show an icon to show that sent message has been received by your contact')],
|
'positive_184_ack': [ opt_bool, False, _('If enabled, Gajim will show an icon to show that sent message has been received by your contact')],
|
||||||
'show_avatar_in_tabs': [ opt_bool, False, _('Show a mini avatar in chat window tabs and in window icon')],
|
'show_avatar_in_tabs': [ opt_bool, False, _('Show a mini avatar in chat window tabs and in window icon')],
|
||||||
'use_keyring': [opt_bool, True, _('If True, Gajim will use the Systems Keyring to store account passwords.')],
|
'use_keyring': [opt_bool, True, _('If true, Gajim will use the Systems Keyring to store account passwords.')],
|
||||||
'pgp_encoding': [ opt_str, '', _('Sets the encoding used by python-gnupg'), True],
|
'pgp_encoding': [ opt_str, '', _('Sets the encoding used by python-gnupg'), True],
|
||||||
'remote_commands': [opt_bool, False, _('If True, Gajim will execute XEP-0146 Commands.')],
|
'remote_commands': [opt_bool, False, _('If true, Gajim will execute XEP-0146 Commands.')],
|
||||||
'mam_blacklist': [opt_str, '', _('All non-compliant MAM Groupchats')],
|
'mam_blacklist': [opt_str, '', _('All non-compliant MAM Groupchats')],
|
||||||
}, {})
|
}, {})
|
||||||
|
|
||||||
|
@ -332,7 +332,7 @@ class Config:
|
||||||
'autoconnect_as': [ opt_str, 'online', _('Status used to autoconnect as. Can be online, chat, away, xa, dnd, invisible. NOTE: this option is used only if restore_last_status is disabled'), True ],
|
'autoconnect_as': [ opt_str, 'online', _('Status used to autoconnect as. Can be online, chat, away, xa, dnd, invisible. NOTE: this option is used only if restore_last_status is disabled'), True ],
|
||||||
'restore_last_status': [ opt_bool, False, _('If enabled, restore the last status that was used.') ],
|
'restore_last_status': [ opt_bool, False, _('If enabled, restore the last status that was used.') ],
|
||||||
'autoreconnect': [ opt_bool, True ],
|
'autoreconnect': [ opt_bool, True ],
|
||||||
'autoauth': [ opt_bool, False, _('If True, Contacts requesting authorization will be automatically accepted.')],
|
'autoauth': [ opt_bool, False, _('If true, Contacts requesting authorization will be automatically accepted.')],
|
||||||
'active': [ opt_bool, True, _('If False, this account will be disabled and will not appear in roster window.'), True],
|
'active': [ opt_bool, True, _('If False, this account will be disabled and will not appear in roster window.'), True],
|
||||||
'proxy': [ opt_str, '', '', True ],
|
'proxy': [ opt_str, '', '', True ],
|
||||||
'keyid': [ opt_str, '', '', True ],
|
'keyid': [ opt_str, '', '', True ],
|
||||||
|
@ -365,7 +365,7 @@ class Config:
|
||||||
# send keepalive every N seconds of inactivity
|
# send keepalive every N seconds of inactivity
|
||||||
'keep_alive_every_foo_secs': [ opt_int, 55 ],
|
'keep_alive_every_foo_secs': [ opt_int, 55 ],
|
||||||
'ping_alive_every_foo_secs': [ opt_int, 120 ],
|
'ping_alive_every_foo_secs': [ opt_int, 120 ],
|
||||||
'time_for_ping_alive_answer': [ opt_int, 60, _('How many seconds to wait for the answer of ping alive packet before we try to reconnect?') ],
|
'time_for_ping_alive_answer': [ opt_int, 60, _('How many seconds to wait for the answer of ping alive packet before trying to reconnect?') ],
|
||||||
# try for 1 minutes before giving up (aka. timeout after those seconds)
|
# try for 1 minutes before giving up (aka. timeout after those seconds)
|
||||||
'try_connecting_for_foo_secs': [ opt_int, 60 ],
|
'try_connecting_for_foo_secs': [ opt_int, 60 ],
|
||||||
'http_auth': [opt_str, 'ask'], # yes, no, ask
|
'http_auth': [opt_str, 'ask'], # yes, no, ask
|
||||||
|
@ -373,7 +373,7 @@ class Config:
|
||||||
# proxy65 for FT
|
# proxy65 for FT
|
||||||
'file_transfer_proxies': [opt_str, ''],
|
'file_transfer_proxies': [opt_str, ''],
|
||||||
'use_ft_proxies': [opt_bool, False, _('If checked, Gajim will use your IP and proxies defined in file_transfer_proxies option for file transfer.'), True],
|
'use_ft_proxies': [opt_bool, False, _('If checked, Gajim will use your IP and proxies defined in file_transfer_proxies option for file transfer.'), True],
|
||||||
'test_ft_proxies_on_startup': [opt_bool, False, _('If True, Gajim will test file transfer proxies on startup to be sure it works. Openfire\'s proxies are known to fail this test even if they work.')],
|
'test_ft_proxies_on_startup': [opt_bool, False, _('If true, Gajim will test file transfer proxies on startup to be sure it works. Openfire\'s proxies are known to fail this test even if they work.')],
|
||||||
'msgwin-x-position': [opt_int, -1], # Default is to let the wm decide
|
'msgwin-x-position': [opt_int, -1], # Default is to let the wm decide
|
||||||
'msgwin-y-position': [opt_int, -1], # Default is to let the wm decide
|
'msgwin-y-position': [opt_int, -1], # Default is to let the wm decide
|
||||||
'msgwin-width': [opt_int, 480],
|
'msgwin-width': [opt_int, 480],
|
||||||
|
@ -407,7 +407,7 @@ class Config:
|
||||||
'oauth2_refresh_token': [ opt_str, '', _('Latest token for OAuth 2.0 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_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.')],
|
'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.')],
|
'opened_chat_controls': [opt_str, '', _('Space separated list of JIDs for which chat window will be re-opened on next startup.')],
|
||||||
'recent_groupchats': [ opt_str, '' ],
|
'recent_groupchats': [ opt_str, '' ],
|
||||||
'httpupload_verify': [ opt_bool, True, _('HTTP Upload: Enable HTTPS Verification')],
|
'httpupload_verify': [ opt_bool, True, _('HTTP Upload: Enable HTTPS Verification')],
|
||||||
'filetransfer_preference' : [ opt_str, 'httpupload', _('Preferred file transfer mechanism for file drag&drop on chat window. Can be \'httpupload\' (default) or \'jingle\'')],
|
'filetransfer_preference' : [ opt_str, 'httpupload', _('Preferred file transfer mechanism for file drag&drop on chat window. Can be \'httpupload\' (default) or \'jingle\'')],
|
||||||
|
@ -473,15 +473,15 @@ class Config:
|
||||||
'state_muc_directed_msg_color': [ opt_color, 'red2' ],
|
'state_muc_directed_msg_color': [ opt_color, 'red2' ],
|
||||||
}, {}),
|
}, {}),
|
||||||
'contacts': ({
|
'contacts': ({
|
||||||
'speller_language': [ opt_str, '', _('Language for which we want to check misspelled words')],
|
'speller_language': [ opt_str, '', _('Language for which misspelled words will be checked')],
|
||||||
}, {}),
|
}, {}),
|
||||||
'encryption': ({'encryption': [ opt_str, '', _('The currently active encryption for that contact')],
|
'encryption': ({'encryption': [ opt_str, '', _('The currently active encryption for that contact')],
|
||||||
},{}),
|
},{}),
|
||||||
'rooms': ({
|
'rooms': ({
|
||||||
'speller_language': [ opt_str, '', _('Language for which we want to check misspelled words')],
|
'speller_language': [ opt_str, '', _('Language for which misspelled words will be checked')],
|
||||||
'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_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, _('Minutes of backlog to request 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')],
|
||||||
'notify_on_all_messages': [opt_bool, False, _('State whether we want a notification for every message in this room')],
|
'notify_on_all_messages': [opt_bool, False, _('State whether a notification is created for every message in this room')],
|
||||||
}, {}),
|
}, {}),
|
||||||
'plugins': ({
|
'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.')],
|
'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.')],
|
||||||
|
|
|
@ -121,7 +121,7 @@ class JingleRTPContent(JingleContent):
|
||||||
InformationEvent(
|
InformationEvent(
|
||||||
None, conn=self.session.connection, level='error',
|
None, conn=self.session.connection, level='error',
|
||||||
pri_txt=_('%s configuration error') % text.capitalize(),
|
pri_txt=_('%s configuration error') % text.capitalize(),
|
||||||
sec_txt=_('Couldn’t setup %(text)s. Check your '
|
sec_txt=_('Couldn’t set up %(text)s. Check your '
|
||||||
'configuration.\n\nPipeline was:\n%(pipeline)s\n\n'
|
'configuration.\n\nPipeline was:\n%(pipeline)s\n\n'
|
||||||
'Error was:\n%(error)s') % {'text': text,
|
'Error was:\n%(error)s') % {'text': text,
|
||||||
'pipeline': pipeline, 'error': str(e)}))
|
'pipeline': pipeline, 'error': str(e)}))
|
||||||
|
|
|
@ -213,7 +213,7 @@ LOCATION_DATA = {
|
||||||
'street': _('street'),
|
'street': _('street'),
|
||||||
'text': _('text'),
|
'text': _('text'),
|
||||||
'timestamp': _('timestamp'),
|
'timestamp': _('timestamp'),
|
||||||
'uri': _('uri')}
|
'uri': _('URI')}
|
||||||
|
|
||||||
from gi.repository import GLib
|
from gi.repository import GLib
|
||||||
|
|
||||||
|
|
|
@ -802,7 +802,7 @@ audio-mic-volume-low</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="receives_default">True</property>
|
<property name="receives_default">True</property>
|
||||||
<property name="tooltip_text" translatable="yes">Choose an encryption</property>
|
<property name="tooltip_text" translatable="yes">Choose encryption</property>
|
||||||
<property name="relief">none</property>
|
<property name="relief">none</property>
|
||||||
<child>
|
<child>
|
||||||
<placeholder/>
|
<placeholder/>
|
||||||
|
|
|
@ -280,7 +280,7 @@
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="receives_default">True</property>
|
<property name="receives_default">True</property>
|
||||||
<property name="tooltip_text" translatable="yes">Choose an encryption</property>
|
<property name="tooltip_text" translatable="yes">Choose encryption</property>
|
||||||
<property name="relief">none</property>
|
<property name="relief">none</property>
|
||||||
<child>
|
<child>
|
||||||
<placeholder/>
|
<placeholder/>
|
||||||
|
|
|
@ -48,7 +48,7 @@
|
||||||
<object class="GtkSwitch" id="autojoin_switch">
|
<object class="GtkSwitch" id="autojoin_switch">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="tooltip_text" translatable="yes">Join this Groupchat everytime Gajim is started</property>
|
<property name="tooltip_text" translatable="yes">Join this Groupchat every time Gajim is started</property>
|
||||||
<property name="halign">start</property>
|
<property name="halign">start</property>
|
||||||
<property name="valign">center</property>
|
<property name="valign">center</property>
|
||||||
<property name="active">True</property>
|
<property name="active">True</property>
|
||||||
|
|
|
@ -75,7 +75,7 @@
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkButton" id="install_plugin_button">
|
<object class="GtkButton" id="install_plugin_button">
|
||||||
<property name="label" translatable="yes">Install from zip</property>
|
<property name="label" translatable="yes">Install from ZIP</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="receives_default">True</property>
|
<property name="receives_default">True</property>
|
||||||
|
|
|
@ -2659,7 +2659,7 @@ to discover one from server.</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="receives_default">False</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 End-to-End 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="use_underline">True</property>
|
||||||
<property name="xalign">0</property>
|
<property name="xalign">0</property>
|
||||||
<property name="draw_indicator">True</property>
|
<property name="draw_indicator">True</property>
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
<object class="GtkShortcutsShortcut">
|
<object class="GtkShortcutsShortcut">
|
||||||
<property name="visible">1</property>
|
<property name="visible">1</property>
|
||||||
<property name="accelerator"><shift>Return <ctrl>Return</property>
|
<property name="accelerator"><shift>Return <ctrl>Return</property>
|
||||||
<property name="title" translatable="yes">Create a new line</property>
|
<property name="title" translatable="yes">Add new line</property>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
|
@ -42,7 +42,7 @@
|
||||||
<object class="GtkShortcutsShortcut">
|
<object class="GtkShortcutsShortcut">
|
||||||
<property name="visible">1</property>
|
<property name="visible">1</property>
|
||||||
<property name="accelerator"><ctrl>Up</property>
|
<property name="accelerator"><ctrl>Up</property>
|
||||||
<property name="title" translatable="yes">Previous sent message</property>
|
<property name="title" translatable="yes">Previously sent message</property>
|
||||||
</object>
|
</object>
|
||||||
</child>
|
</child>
|
||||||
<child>
|
<child>
|
||||||
|
|
|
@ -155,7 +155,7 @@ messages = {
|
||||||
|
|
||||||
'unsecure-error': Message(
|
'unsecure-error': Message(
|
||||||
_('Unsecure'),
|
_('Unsecure'),
|
||||||
_('Server returned unsecure transport (http)'),
|
_('Server returned unsecure transport (HTTP)'),
|
||||||
ErrorDialog),
|
ErrorDialog),
|
||||||
|
|
||||||
'httpupload-response-error': Message(
|
'httpupload-response-error': Message(
|
||||||
|
@ -170,7 +170,7 @@ messages = {
|
||||||
|
|
||||||
'httpupload-encryption-not-available': Message(
|
'httpupload-encryption-not-available': Message(
|
||||||
_('Encryption Error'),
|
_('Encryption Error'),
|
||||||
_('For the choosen encryption is no encryption method available'),
|
_('For the choosen encryption there is no encryption method available'),
|
||||||
ErrorDialog),
|
ErrorDialog),
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -4073,9 +4073,9 @@ class Archiving313PreferencesWindow:
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
log.debug(e)
|
log.debug(e)
|
||||||
if not obj:
|
if not obj:
|
||||||
msg = _('We got no response from the Server')
|
msg = _('No response from the Server')
|
||||||
else:
|
else:
|
||||||
msg = _('We received an error: {}').format(self.error_msg)
|
msg = _('Error received: {}').format(self.error_msg)
|
||||||
|
|
||||||
dialog = HigDialog(
|
dialog = HigDialog(
|
||||||
self.window, Gtk.MessageType.INFO, Gtk.ButtonsType.OK,
|
self.window, Gtk.MessageType.INFO, Gtk.ButtonsType.OK,
|
||||||
|
@ -5369,7 +5369,7 @@ Expires on: %(eo)s
|
||||||
<b>Fingerprint</b>
|
<b>Fingerprint</b>
|
||||||
SHA-1 Fingerprint: %(sha1)s
|
SHA-1 Fingerprint: %(sha1)s
|
||||||
|
|
||||||
SHA256 Fingerprint: %(sha256)s
|
SHA-256 Fingerprint: %(sha256)s
|
||||||
''') % {
|
''') % {
|
||||||
'scn': subject.commonName, 'sorg': subject.organizationName,
|
'scn': subject.commonName, 'sorg': subject.organizationName,
|
||||||
'sou': subject.organizationalUnitName,
|
'sou': subject.organizationalUnitName,
|
||||||
|
@ -5456,15 +5456,15 @@ class ProgressWindow(Gtk.ApplicationWindow):
|
||||||
if self.file != obj.file:
|
if self.file != obj.file:
|
||||||
return
|
return
|
||||||
if obj.status == 'request':
|
if obj.status == 'request':
|
||||||
self.label.set_text(_('Requesting HTTP Upload Slot...'))
|
self.label.set_text(_('Requesting HTTP Upload Slot…'))
|
||||||
elif obj.status == 'close':
|
elif obj.status == 'close':
|
||||||
self.destroy()
|
self.destroy()
|
||||||
elif obj.status == 'upload':
|
elif obj.status == 'upload':
|
||||||
self.label.set_text(_('Uploading file via HTTP File Upload...'))
|
self.label.set_text(_('Uploading file via HTTP File Upload…'))
|
||||||
elif obj.status == 'update':
|
elif obj.status == 'update':
|
||||||
self.update_progress(obj.seen, obj.total)
|
self.update_progress(obj.seen, obj.total)
|
||||||
elif obj.status == 'encrypt':
|
elif obj.status == 'encrypt':
|
||||||
self.label.set_text(_('Encrypting file...'))
|
self.label.set_text(_('Encrypting file…'))
|
||||||
|
|
||||||
def _pulse_progressbar(self):
|
def _pulse_progressbar(self):
|
||||||
self.progressbar.pulse()
|
self.progressbar.pulse()
|
||||||
|
|
|
@ -48,14 +48,14 @@ class FeaturesWindow:
|
||||||
_('Bonjour / Zeroconf'): (self.zeroconf_available,
|
_('Bonjour / Zeroconf'): (self.zeroconf_available,
|
||||||
_('Serverless chatting with autodetected clients in a local network.'),
|
_('Serverless chatting with autodetected clients in a local network.'),
|
||||||
_('Requires python-avahi.'),
|
_('Requires python-avahi.'),
|
||||||
_('Requires pybonjour and bonjour SDK running (http://developer.apple.com/opensource/).')),
|
_('Requires pybonjour and bonjour SDK running (https://developer.apple.com/opensource/).')),
|
||||||
_('Command line'): (self.dbus_available,
|
_('Command line'): (self.dbus_available,
|
||||||
_('A script to control Gajim via commandline.'),
|
_('A script to control Gajim via commandline.'),
|
||||||
_('Requires python-dbus.'),
|
_('Requires python-dbus.'),
|
||||||
_('Feature not available under Windows.')),
|
_('Feature not available under Windows.')),
|
||||||
_('OpenPGP message encryption'): (self.gpg_available,
|
_('OpenPGP message encryption'): (self.gpg_available,
|
||||||
_('Ability to encrypting chat messages with OpenPGP.'),
|
_('Ability to encrypting chat messages with OpenPGP.'),
|
||||||
_('Requires gpg and python-gnupg (http://code.google.com/p/python-gnupg/).'),
|
_('Requires gpg and python-gnupg (%(url)s).') % {'url': 'https://bitbucket.org/vinay.sajip/python-gnupg'},
|
||||||
_('Requires gpg.exe in PATH.')),
|
_('Requires gpg.exe in PATH.')),
|
||||||
_('Password encryption'): (self.some_keyring_available,
|
_('Password encryption'): (self.some_keyring_available,
|
||||||
_('Passwords can be stored securely and not just in plaintext.'),
|
_('Passwords can be stored securely and not just in plaintext.'),
|
||||||
|
|
|
@ -78,7 +78,7 @@ class GajimApplication(Gtk.Application):
|
||||||
self.add_main_option('separate', ord('s'), GLib.OptionFlags.NONE,
|
self.add_main_option('separate', ord('s'), GLib.OptionFlags.NONE,
|
||||||
GLib.OptionArg.NONE,
|
GLib.OptionArg.NONE,
|
||||||
_('Separate profile files completely (even '
|
_('Separate profile files completely (even '
|
||||||
'history db and plugins)'))
|
'history DB and plugins)'))
|
||||||
self.add_main_option('verbose', ord('v'), GLib.OptionFlags.NONE,
|
self.add_main_option('verbose', ord('v'), GLib.OptionFlags.NONE,
|
||||||
GLib.OptionArg.NONE,
|
GLib.OptionArg.NONE,
|
||||||
_('Print XML stanzas and other debug '
|
_('Print XML stanzas and other debug '
|
||||||
|
|
|
@ -1389,7 +1389,7 @@ class Interface:
|
||||||
if obj.error_num in (18, 27):
|
if obj.error_num in (18, 27):
|
||||||
checktext1 = _('Add this certificate to the list of trusted '
|
checktext1 = _('Add this certificate to the list of trusted '
|
||||||
'certificates.\nSHA-1 fingerprint of the certificate:\n%(sha1)s'
|
'certificates.\nSHA-1 fingerprint of the certificate:\n%(sha1)s'
|
||||||
'\nSHA256 fingerprint of the certificate:\n%(sha256)s') % \
|
'\nSHA-256 fingerprint of the certificate:\n%(sha256)s') % \
|
||||||
{'sha1': obj.fingerprint_sha1, 'sha256': obj.fingerprint_sha256}
|
{'sha1': obj.fingerprint_sha1, 'sha256': obj.fingerprint_sha256}
|
||||||
else:
|
else:
|
||||||
checktext1 = ''
|
checktext1 = ''
|
||||||
|
|
|
@ -609,8 +609,8 @@ Build dynamic Application Menus
|
||||||
def get_singlechat_menu(control_id):
|
def get_singlechat_menu(control_id):
|
||||||
singlechat_menu = [
|
singlechat_menu = [
|
||||||
(_('Send File…'), [
|
(_('Send File…'), [
|
||||||
('win.send-file-httpupload-', _('Upload File…')),
|
('win.send-file-httpupload-', 'HTTP Upload'),
|
||||||
('win.send-file-jingle-', _('Send File Directly…')),
|
('win.send-file-jingle-', 'Jingle'),
|
||||||
]),
|
]),
|
||||||
('win.invite-contacts-', _('Invite Contacts')),
|
('win.invite-contacts-', _('Invite Contacts')),
|
||||||
('win.add-to-roster-', _('Add to Roster')),
|
('win.add-to-roster-', _('Add to Roster')),
|
||||||
|
@ -728,11 +728,11 @@ def get_account_menu(account):
|
||||||
sub menu: list
|
sub menu: list
|
||||||
'''
|
'''
|
||||||
account_menu = [
|
account_menu = [
|
||||||
('-add-contact', _('Add Contact...')),
|
('-add-contact', _('Add Contact…')),
|
||||||
('-join-groupchat', _('Join Group Chat')),
|
('-join-groupchat', _('Join Group Chat')),
|
||||||
('-profile', _('Profile')),
|
('-profile', _('Profile')),
|
||||||
('-services', _('Discover Services')),
|
('-services', _('Discover Services')),
|
||||||
('-start-single-chat', _('Send Single Message...')),
|
('-start-single-chat', _('Send Single Message…')),
|
||||||
(_('Advanced'), [
|
(_('Advanced'), [
|
||||||
('-archive', _('Archiving Preferences')),
|
('-archive', _('Archiving Preferences')),
|
||||||
('-sync-history', _('Synchronise History')),
|
('-sync-history', _('Synchronise History')),
|
||||||
|
@ -741,10 +741,10 @@ def get_account_menu(account):
|
||||||
('-xml-console', _('XML Console'))
|
('-xml-console', _('XML Console'))
|
||||||
]),
|
]),
|
||||||
(_('Admin'), [
|
(_('Admin'), [
|
||||||
('-send-server-message', _('Send Server Message...')),
|
('-send-server-message', _('Send Server Message…')),
|
||||||
('-set-motd', _('Set MOTD...')),
|
('-set-motd', _('Set MOTD…')),
|
||||||
('-update-motd', _('Update MOTD...')),
|
('-update-motd', _('Update MOTD…')),
|
||||||
('-delete-motd', _('Delete MOTD...'))
|
('-delete-motd', _('Delete MOTD…'))
|
||||||
]),
|
]),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
|
@ -40,7 +40,7 @@ class MessageTextView(Gtk.TextView):
|
||||||
chat/groupchat windows
|
chat/groupchat windows
|
||||||
"""
|
"""
|
||||||
UNDO_LIMIT = 20
|
UNDO_LIMIT = 20
|
||||||
PLACEHOLDER = _('Write a message..')
|
PLACEHOLDER = _('Write a message…')
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
Gtk.TextView.__init__(self)
|
Gtk.TextView.__init__(self)
|
||||||
|
|
|
@ -100,6 +100,7 @@ text=None, timeout=-1):
|
||||||
'type_': GLib.Variant('s', type_)}
|
'type_': GLib.Variant('s', type_)}
|
||||||
variant_dict = GLib.Variant('a{sv}', dict_)
|
variant_dict = GLib.Variant('a{sv}', dict_)
|
||||||
action = 'app.{}-open-event'.format(account)
|
action = 'app.{}-open-event'.format(account)
|
||||||
|
#Button in notification
|
||||||
notification.add_button_with_target(_('Open'), action, variant_dict)
|
notification.add_button_with_target(_('Open'), action, variant_dict)
|
||||||
notification.set_default_action_and_target(action, variant_dict)
|
notification.set_default_action_and_target(action, variant_dict)
|
||||||
if event_type in (_('New Message'), _('New Single Message'),
|
if event_type in (_('New Message'), _('New Single Message'),
|
||||||
|
|
|
@ -2108,7 +2108,7 @@ class RosterWindow:
|
||||||
if keyid and not app.connections[account].gpg:
|
if keyid and not app.connections[account].gpg:
|
||||||
dialogs.WarningDialog(_('OpenPGP is not usable'),
|
dialogs.WarningDialog(_('OpenPGP is not usable'),
|
||||||
_('Gajim needs python-gnupg >= 0.3.8\n'
|
_('Gajim needs python-gnupg >= 0.3.8\n'
|
||||||
'Beware there is an incompatible python package called gnupg.\n'
|
'Beware there is an incompatible Python package called gnupg.\n'
|
||||||
'You will be connected to %s without OpenPGP.') % account)
|
'You will be connected to %s without OpenPGP.') % account)
|
||||||
|
|
||||||
self.send_status_continue(account, status, txt, auto, to)
|
self.send_status_continue(account, status, txt, auto, to)
|
||||||
|
@ -4277,7 +4277,7 @@ class RosterWindow:
|
||||||
'want to continue?')
|
'want to continue?')
|
||||||
sectext = _('Metacontacts are a way to regroup several contacts in one '
|
sectext = _('Metacontacts are a way to regroup several contacts in one '
|
||||||
'line. Generally it is used when the same person has several '
|
'line. Generally it is used when the same person has several '
|
||||||
'XMPP accounts or transport accounts.')
|
'XMPP- or transport -accounts.')
|
||||||
dlg = dialogs.ConfirmationDialogCheck(pritext, sectext,
|
dlg = dialogs.ConfirmationDialogCheck(pritext, sectext,
|
||||||
_('_Do not ask me again'), on_response_ok=merge_contacts)
|
_('_Do not ask me again'), on_response_ok=merge_contacts)
|
||||||
if not confirm_metacontacts: # First time we see this window
|
if not confirm_metacontacts: # First time we see this window
|
||||||
|
|
Loading…
Reference in New Issue