Commit 6cb274d1 authored by Martin's avatar Martin

Merge tag 'debian/1.1.2-1' into debian/stretch-backports and prepare 1.1.2-1~bpo9+1

parents f306337b 6ce40882
Gajim 1.1.2 (15 January 2019)
Bug fixes
* #9518 Windows: Pressing "^" yields "^^"
* #9522 Windows: Switching keyboard layouts leads to a crash
* #9525 Windows/Mac: Links are not clickable in the About dialog
* #9535 Jingle Audio: Update codecs
* #9537 DiscoveryWindow: Fix bookmarking a group chat
* DBus: Correctly raise NewMessage signal
* Clicking on tray notifications does not open the chat
Gajim 1.1.1 (23 December 2018)
Bug fixes
* 8362 DBus: Incorrect unread message count
* 9427 Placeholder not cleared if pasting text into message input
* 9444 Determine the delay timestamp correctly when using mam:1
* 9453 Fix opening links inside the group chat subject (MacOS/Windows)
* 9465 Allow the full range of possible nicknames in group chats
* 9067 Gajim crashes when receiving xhtml messages
* 9096 Error when clicking on a subscription notification
* 9446 Chatstate error in MUC conversation
* 9471 Conversation Textview: Error on key press
* 9472 Handle presences without from attr correctly
* 9473 Error when creating a new group chat
* 9491 Identify group chat subject changes correctly
* 9496 Error on MUC roster selection change
* #8362 DBus: Incorrect unread message count
* #9427 Placeholder not cleared if pasting text into message input
* #9444 Determine the delay timestamp correctly when using mam:1
* #9453 Fix opening links inside the group chat subject (MacOS/Windows)
* #9465 Allow the full range of possible nicknames in group chats
* #9067 Gajim crashes when receiving xhtml messages
* #9096 Error when clicking on a subscription notification
* #9446 Chatstate error in MUC conversation
* #9471 Conversation Textview: Error on key press
* #9472 Handle presences without from attr correctly
* #9473 Error when creating a new group chat
* #9491 Identify group chat subject changes correctly
* #9496 Error on MUC roster selection change
* Determine soundplayer correctly on unix systems
* In some circumstances plugins could not be deleted
* Show correct contact status on tabs
......@@ -36,13 +48,13 @@ Gajim 1.1.0 (06 November 2018)
Bug fixes
* 8968 Windows: Gajim loads DLLs from wrong location
* 9322 Error when adding contact
* 9357 Acquire sleep inhibtor correctly after sleep
* 9385 Ignore invalid bookmarks
* 9386 Discovery: Browsing nodes without identity
* 9393 Error when parsing invalid timestamps
* 9398 Error on jingle file transfer
* #8968 Windows: Gajim loads DLLs from wrong location
* #9322 Error when adding contact
* #9357 Acquire sleep inhibtor correctly after sleep
* #9385 Ignore invalid bookmarks
* #9386 Discovery: Browsing nodes without identity
* #9393 Error when parsing invalid timestamps
* #9398 Error on jingle file transfer
Gajim 1.0.99.1 (07 October 2018)
......@@ -59,17 +71,17 @@ Gajim 1.0.99.1 (07 October 2018)
Bug fixes
* 9198 Creating new MUCs with captial letters is not possible
* 9210 Error when clicking on new message indicator
* 9280 Inviting users to a MUC causes error
* 9301 Error when opening service discovery window
* 9309 Error when clicking on a groupchat invite notification
* 9311 Error when requesting server info
* 9117 Windows UAC changes status not available
* 9324 No menus/dialogs on Win7
* 9326 IPV6 Connection problem on Win10
* 9334 Joining big MUCs takes very long
* 9339 Error caused by remote_control
* #9198 Creating new MUCs with captial letters is not possible
* #9210 Error when clicking on new message indicator
* #9280 Inviting users to a MUC causes error
* #9301 Error when opening service discovery window
* #9309 Error when clicking on a groupchat invite notification
* #9311 Error when requesting server info
* #9117 Windows UAC changes status not available
* #9324 No menus/dialogs on Win7
* #9326 IPV6 Connection problem on Win10
* #9334 Joining big MUCs takes very long
* #9339 Error caused by remote_control
Gajim 1.0.99 (19 August 2018)
......@@ -92,16 +104,16 @@ Gajim 1.0.99 (19 August 2018)
Bug fixes
* 8658 Translation doesnt work on Windows
* 8750 Increase time frame for duplicate search in MUCs
* 9138 Translation in Flatpak does not work
* 9140 Error when clicking on the notification of an incoming message
* 9159 Wrong form type when responding to a voice request
* 9069 Send cancel IQ if muc configuration is aborted
* 9167 Flatpak fails to determine locale settings
* 9171 Gajim requests vcard multiple times
* 9198 Creating new MUCs with capital letters is not possible
* 9211 Punycode and Unicode with Internationalized Domain Names
* #8658 Translation doesnt work on Windows
* #8750 Increase time frame for duplicate search in MUCs
* #9138 Translation in Flatpak does not work
* #9140 Error when clicking on the notification of an incoming message
* #9159 Wrong form type when responding to a voice request
* #9069 Send cancel IQ if muc configuration is aborted
* #9167 Flatpak fails to determine locale settings
* #9171 Gajim requests vcard multiple times
* #9198 Creating new MUCs with capital letters is not possible
* #9211 Punycode and Unicode with Internationalized Domain Names
Other changes
......@@ -123,9 +135,9 @@ Gajim 1.0.3 (20 May 2018)
Bugs fixed:
* 8296 Fix errors on roster updates after stream management resume
* 9106 Convert font weight from pango to css values
* 9124 Bring ChatControl to front when notification is clicked
* #8296 Fix errors on roster updates after stream management resume
* #9106 Convert font weight from pango to css values
* #9124 Bring ChatControl to front when notification is clicked
* Set no-store hint on groupchat chatstates
* Dont show OOB uri if message body is the same
......@@ -139,26 +151,26 @@ Gajim 1.0.2 (30 April 2018)
Bugs fixed:
* 7879 Server name is rejected for group chat bookmarks
* 8964 setup.py install misses some files if used with "--skip-build"
* 9017 Password was sometimes stored in plaintext
* 9022 Dont show error when receiving invalid avatars
* 9031 Windows: Always hide roster window on X
* 9038 No License in About dialog
* 9039 Encode filenames before sending
* 9044 Catch invalid IQ stanzas and log them
* 9049 XMPP logo in "Add New Contact" window instead Gajim logo
* 9050 Mark some strings as translatable
* 9054 Error on file send completion
* 9055 Removing a bookmark causes error
* 9057 Avatar is deleted when updating vCard
* 9065 Account label isn't change in tooltip of notification area icon
* 9066 Placeholder text does't disappear
* 9068 Missing pulseaudio in Flatpak image
* 9070 Fix History Manager search
* 9074 Proxy comobobox in accounts/connections doesn't get update after ManageProxies
* 9094 problem receiving file
* 9101 Notification never autohides in gnome
* #7879 Server name is rejected for group chat bookmarks
* #8964 setup.py install misses some files if used with "--skip-build"
* #9017 Password was sometimes stored in plaintext
* #9022 Dont show error when receiving invalid avatars
* #9031 Windows: Always hide roster window on X
* #9038 No License in About dialog
* #9039 Encode filenames before sending
* #9044 Catch invalid IQ stanzas and log them
* #9049 XMPP logo in "Add New Contact" window instead Gajim logo
* #9050 Mark some strings as translatable
* #9054 Error on file send completion
* #9055 Removing a bookmark causes error
* #9057 Avatar is deleted when updating vCard
* #9065 Account label isn't change in tooltip of notification area icon
* #9066 Placeholder text does't disappear
* #9068 Missing pulseaudio in Flatpak image
* #9070 Fix History Manager search
* #9074 Proxy comobobox in accounts/connections doesn't get update after ManageProxies
* #9094 problem receiving file
* #9101 Notification never autohides in gnome
* Correctly reload Plugins
* Save history export with utf8 encoding
......
......@@ -7,7 +7,7 @@
- python3-gi
- python3-gi-cairo
- gir1.2-gtk-3.0 (>=3.22)
- python3-nbxmpp
- python3-nbxmpp (>=0.6.9,<0.7.0)
- python3-openssl (>=0.14)
- python3-cssutils (>=1.0.2)
- python3-keyring
......@@ -17,7 +17,7 @@
- python3-pil (pillow) for support of webp avatars
- python3-gnupg to enable GPG encryption
- For zeroconf (bonjour) you need python3-dbus
- For zeroconf you need python3-dbus on Linux or [pybonjour](https://dev.gajim.org/lovetox/pybonjour-python3) on Windows/macOS
- gir1.2-gspell-1 and hunspell-LANG where lang is your locale eg. en, fr etc
- gir1.2-secret-1 for GNOME Keyring or KDE support as password storage
- D-Bus running to have gajim-remote working
......@@ -86,7 +86,7 @@ Execute gajim with --verbose
That is all, **enjoy**!
(C) 2003-2018
(C) 2003-2019
The Gajim Team
[https://gajim.org](https://gajim.org)
......
......@@ -46,7 +46,7 @@ and
.Pa THANKS ,
for a complete list.
.Sh COPYRIGHT
Copyright (C) 2003-2018 Gajim Team
Copyright (C) 2003-2019 Gajim Team
.Pp
.Nm
is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 3 only.
......
......@@ -89,7 +89,7 @@ and
.Pa THANKS ,
for a complete list.
.Sh COPYRIGHT
Copyright (C) 2003-2018 Gajim Team
Copyright (C) 2003-2019 Gajim Team
.Pp
.Nm
is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 3 only.
......
......@@ -93,7 +93,7 @@ and
with contributions and patches merged from many individuals around the world.
See the About Dialog for a complete list.
.Sh COPYRIGHT
Copyright (C) 2003-2018 Gajim Team
Copyright (C) 2003-2019 Gajim Team
.Pp
.Nm
is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 3 only.
......
gajim (1.1.1-2~bpo9+1) stretch-backports; urgency=medium
gajim (1.1.2-1~bpo9+1) stretch-backports; urgency=medium
* Rebuild for stretch-backports.
-- W. Martin Borgert <debacle@debian.org> Thu, 03 Jan 2019 00:51:07 +0000
-- W. Martin Borgert <debacle@debian.org> Mon, 21 Jan 2019 00:18:10 +0000
gajim (1.1.2-1) unstable; urgency=medium
* new upstream version
-- W. Martin Borgert <debacle@debian.org> Tue, 15 Jan 2019 22:23:55 +0000
gajim (1.1.1-2) unstable; urgency=medium
......
fix-status-tray-notification.patch
do-not-use-distutils.patch
no-git-call.patch
stop-loading-plugins.patch
import os
import subprocess
__version__ = "1.1.1"
__version__ = "1.1.2"
IS_FLATPAK = False
if os.path.exists('/app/share/run-as-flatpak'):
......
......@@ -200,12 +200,14 @@ def detect_dependencies():
# ZEROCONF
try:
if os.name == 'nt':
import pybonjour # pylint: disable=unused-variable
_dependencies['PYBONJOUR'] = True
else:
import dbus # pylint: disable=unused-variable
_dependencies['PYTHON-DBUS'] = True
import pybonjour # pylint: disable=unused-variable
_dependencies['PYBONJOUR'] = True
except Exception:
pass
try:
import dbus # pylint: disable=unused-variable
_dependencies['PYTHON-DBUS'] = True
except Exception:
pass
......
......@@ -56,6 +56,7 @@ from gajim.common import app
from gajim.common import gpg
from gajim.common import passwords
from gajim.common import idle
from gajim.common import i18n
from gajim.common.i18n import _
from gajim.common.connection_handlers import *
from gajim.common.contacts import GC_Contact
......@@ -1037,7 +1038,8 @@ class Connection(CommonConnection, ConnectionHandlers):
con = nbxmpp.NonBlockingClient(
domain=self._hostname,
caller=self,
idlequeue=app.idlequeue)
idlequeue=app.idlequeue,
lang=i18n.LANG)
# increase default timeout for server responses
nbxmpp.dispatcher_nb.DEFAULT_TIMEOUT_SECONDS = \
......
......@@ -69,6 +69,22 @@ def iter_locale_dirs():
if locale_dir.is_dir():
yield str(locale_dir)
def get_default_lang():
if os.name == "nt":
import ctypes
windll = ctypes.windll.kernel32
lang = locale.windows_locale[windll.GetUserDefaultUILanguage()]
return lang[:2]
if sys.platform == "darwin":
from AppKit import NSLocale
return NSLocale.currentLocale().languageCode()
default = locale.getdefaultlocale()[0]
if default is not None:
return default[:2]
return 'en'
def initialize_direction_mark():
from gi.repository import Gtk
......@@ -137,15 +153,13 @@ try:
except locale.Error as error:
print(error)
if os.name == 'nt':
try:
# en_US, fr_FR, el_GR etc..
default = locale.getdefaultlocale()[0]
if default is not None:
LANG = default[:2]
except (ValueError, locale.Error):
pass
os.environ['LANG'] = LANG
try:
LANG = get_default_lang()
print('Found default language: %s' % LANG)
except Exception as error:
print('Failed to determine default language')
import traceback
traceback.print_exc()
# Search for the translation in all locale dirs
for dir_ in iter_locale_dirs():
......
......@@ -301,8 +301,9 @@ class JingleRTPContent(JingleContent):
attrs = {
'name': codec.encoding_name,
'id': codec.id,
'channels': codec.channels
}
if codec.channels > 0:
attrs['channels'] = codec.channels
if codec.clock_rate:
attrs['clockrate'] = codec.clock_rate
if codec.optional_params:
......@@ -350,18 +351,35 @@ class JingleAudio(JingleRTPContent):
def setup_stream(self):
JingleRTPContent.setup_stream(self, self._on_src_pad_added)
# Configure SPEEX
# Workaround for psi (not needed since rev
# 147aedcea39b43402fe64c533d1866a25449888a):
# place 16kHz before 8kHz, as buggy psi versions will take in
# account only the first codec
codecs = [
# list of codecs that are explicitly allowed
allow_codecs = [
Farstream.Codec.new(Farstream.CODEC_ID_ANY, 'OPUS',
Farstream.MediaType.AUDIO, 48000),
Farstream.Codec.new(Farstream.CODEC_ID_ANY, 'SPEEX',
Farstream.MediaType.AUDIO, 32000),
Farstream.Codec.new(Farstream.CODEC_ID_ANY, 'SPEEX',
Farstream.MediaType.AUDIO, 16000),
Farstream.Codec.new(Farstream.CODEC_ID_ANY, 'G722',
Farstream.MediaType.AUDIO, 8000),
Farstream.Codec.new(Farstream.CODEC_ID_ANY, 'SPEEX',
Farstream.MediaType.AUDIO, 8000),
Farstream.Codec.new(Farstream.CODEC_ID_ANY, 'PCMA',
Farstream.MediaType.AUDIO, 8000),
Farstream.Codec.new(Farstream.CODEC_ID_ANY, 'PCMU',
Farstream.MediaType.AUDIO, 8000)]
self.p2psession.set_codec_preferences(codecs)
# disable all other codecs
disable_codecs = []
codecs_without_config = self.p2psession.props.codecs_without_config
allowed_encoding_names = [c.encoding_name for c in allow_codecs] + ['telephone-event']
for codec in codecs_without_config:
if codec.encoding_name not in allowed_encoding_names:
disable_codecs.append(Farstream.Codec.new(Farstream.CODEC_ID_DISABLE,
codec.encoding_name,
Farstream.MediaType.AUDIO,
codec.clock_rate))
self.p2psession.set_codec_preferences(allow_codecs + disable_codecs)
# the local parts
# TODO: Add queues?
......
......@@ -1727,7 +1727,7 @@ class MucBrowser(AgentBrowser):
room_jid,
False,
False,
''
'',
'')
InformationDialog(
......
......@@ -27,7 +27,7 @@ from distutils.version import LooseVersion as V
# Install _() in namespace
from gajim.common import i18n
_MIN_NBXMPP_VER = "0.6.8"
_MIN_NBXMPP_VER = "0.6.9"
_MIN_GTK_VER = "3.22.0"
......
......@@ -14,10 +14,12 @@
import nbxmpp
from gi.repository import Gdk
from gi.repository import Gtk
from gi.repository import GObject
from gajim.common import app
from gajim.common.helpers import launch_browser_mailer
from gajim.common.i18n import _
from gajim.common.const import DEVS_CURRENT
from gajim.common.const import DEVS_PAST
......@@ -31,7 +33,7 @@ class AboutDialog(Gtk.AboutDialog):
self.set_transient_for(app.interface.roster.window)
self.set_name('Gajim')
self.set_version(app.version)
self.set_copyright('Copyright © 2003-2018 Gajim Team')
self.set_copyright('Copyright © 2003-2019 Gajim Team')
self.set_license_type(Gtk.License.GPL_3_0_ONLY)
self.set_website('https://gajim.org/')
......@@ -65,3 +67,25 @@ class AboutDialog(Gtk.AboutDialog):
'response', lambda dialog, *args: Gtk.AboutDialog.do_close(dialog))
self.show()
self.connect('activate-link', self._on_activate_link)
# See https://gitlab.gnome.org/GNOME/gtk/issues/1561
self._connect_link_handler(self)
@staticmethod
def _on_activate_link(_label, uri):
# We have to use this, because the default GTK handler
# is not cross-platform compatible
launch_browser_mailer(None, uri)
return Gdk.EVENT_STOP
def _connect_link_handler(self, parent):
def _find_child(parent_):
if not hasattr(parent_, 'get_children'):
return
for child in parent_.get_children():
if isinstance(child, Gtk.Label):
if 'href' in child.get_label():
child.connect('activate-link', self._on_activate_link)
_find_child(child)
_find_child(parent)
......@@ -1645,10 +1645,13 @@ class Interface:
app.events.change_jid(account, fjid, jid)
resource = None
fjid = jid
contact = None
if resource:
contact = app.contacts.get_contact(account, jid, resource) or highest_contact
if contact is None:
contact = app.contacts.get_contact(account, jid, resource)
if not contact:
contact = highest_contact
if not contact:
# Maybe we deleted the contact from the roster
return
......
......@@ -312,6 +312,8 @@ class GajimRemote(Server):
ged.POSTGUI, self.on_unsubscribed_presence_received)
app.ged.register_event_handler('gc-message-received',
ged.POSTGUI, self.on_gc_message_received)
app.ged.register_event_handler('decrypted-message-received',
ged.POSTGUI, self._nec_decrypted_message_received)
app.ged.register_event_handler('our-show', ged.POSTGUI,
self.on_our_status)
app.ged.register_event_handler('account-created', ged.POSTGUI,
......@@ -388,6 +390,12 @@ class GajimRemote(Server):
obj.timestamp, obj.delayed, obj.xhtml_msgtxt, obj.status_code,
obj.displaymarking, obj.captcha_form, obj.needs_highlight]))
def _nec_decrypted_message_received(self, obj):
self.raise_signal('NewMessage', (
obj.conn.name, [obj.fjid, obj.msgtxt, obj.timestamp,
obj.encrypted, obj.mtype, obj.subject,
obj.msg_log_id, obj.user_nick, obj.xhtml, obj.form_node]))
def on_our_status(self, obj):
self.raise_signal('AccountPresence', (obj.show, obj.conn.name))
......
......@@ -166,12 +166,6 @@ class ChatControlSession:
if not pm:
self.roster_message2(obj)
if app.interface.remote_ctrl:
app.interface.remote_ctrl.raise_signal('NewMessage', (
self.conn.name, [obj.fjid, obj.msgtxt, obj.timestamp,
obj.encrypted, obj.mtype, obj.subject,
obj.msg_log_id, obj.user_nick, obj.xhtml, obj.form_node]))
def roster_message2(self, obj):
"""
Display the message or show notification in the roster
......
File added
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleExecutable</key>
<string>launch.sh</string>
<key>CFBundleIdentifier</key>
<string>org.gajim.mac</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>Gajim</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>${short_version_string}</string>
<key>CFBundleSignature</key>
<string>DASH</string>
<key>CFBundleVersion</key>
<string>${version}</string>
<key>CFBundleIconFile</key>
<string>Gajim</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>CFBundleURLName</key>
<string>XMPP</string>
<key>CFBundleURLSchemes</key>
<array>
<string>xmpp</string>
</array>
</dict>
</array>
</dict>
</plist>
#!/bin/sh
${bin_path}
#!/usr/bin/env python3
import os
import shutil
import sys
from string import Template
from os.path import join
import argparse
EXEC_TEMPLATE = 'mac/launch.sh.template'
PLIST_TEMPLATE = 'mac/Info.plist.template'
ICNS_FILE = 'mac/Gajim.icns'
def fill_template(in_path, out_path, vars):
with open(in_path, 'r') as f:
templ = Template(f.read())
filled_templ = templ.substitute(vars)
with open(out_path, 'w') as f:
f.write(filled_templ)
def create_executable(exec_path, bin_path):
fill_template(EXEC_TEMPLATE, exec_path, {
'bin_path': bin_path
})
os.chmod(exec_path, 0o755)
def create_plist(plist_path, version):
fill_template(PLIST_TEMPLATE, plist_path, {
'version': version,
'short_version_string': version
})
if __name__ == '__main__':
if not os.path.isdir('mac'):
sys.exit("can't find the 'mac' directory. make sure you run "
"this script from the project root")
parser = argparse.ArgumentParser(description='Create a macOS .app bundle.')
parser.add_argument('bundle', help='bundle output location')
parser.add_argument('--version', default='0.0.1',
help='version number of the .app bundle')
parser.add_argument('--bin-path', default='/usr/local/bin/gajim',
help='location of the actual executable')
args = parser.parse_args()
bundle = args.bundle
os.mkdir(bundle)
os.mkdir(join(bundle, 'Contents'))
os.mkdir(join(bundle, 'Contents/MacOS'))
os.mkdir(join(bundle, 'Contents/Resources'))
create_executable(join(bundle, 'Contents/MacOS/launch.sh'), bin_path=args.bin_path)
create_plist(join(bundle, 'Contents/Info.plist'), version=args.version)
shutil.copy(ICNS_FILE, join(bundle, 'Contents/Resources/Gajim.icns'))
#!/usr/bin/env python3
import os
import shutil
from argparse import ArgumentParser
from subprocess import run
ICON_SVG = 'gajim/data/icons/hicolor/scalable/apps/org.gajim.Gajim.svg'
def create_icns(icon_path):
tmpdir = 'Gajim.iconset'
if os.path.isdir(tmpdir):
shutil.rmtree(tmpdir)
os.mkdir(tmpdir)
for size_pt in [16, 32, 128, 256, 512]:
for scale in [1, 2]:
size_px = scale * size_pt
scale_txt = '@{}'.format(scale) if scale != 1 else ''
png_fn = 'icon_{}x{}{}.png'.format(size_pt, size_pt, scale_txt)
png_path = os.path.join(tmpdir, png_fn)
run(['inkscape', '-z', '-e', png_path,
'-w', str(size_px), '-h', str(size_px), '-y', '0',
ICON_SVG])
run(['iconutil', '-c', 'icns', '-o', icon_path, tmpdir])
shutil.rmtree(tmpdir)
if __name__ == '__main__':
parser = ArgumentParser(description='Create a macOS .icns icon. '
'Requires Inkscape and iconutil (macOS).')
parser.add_argument('output', help='bundle output location')
args = parser.parse_args()
create_icns(args.output)
......@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.10.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-12-23 03:05+0000\n"
"POT-Creation-Date: 2019-01-11 03:05+0000\n"
"PO-Revision-Date: 2009-08-19 23:42+0200\n"
"Last-Translator: Ihar Hrachyshka <ihar.hrachyshka@gmail.com>\n"
"Language-Team: Belarusian <i18n@mova.org>\n"
......@@ -887,7 +887,7 @@ msgstr "Запыт увагі на рахунак %s ад %s"
msgid "Subscription request from %s"
msgstr "Запыт увагі ад %s"
#: gajim/dialogs.py:926 gajim/disco.py:503 gajim/gui_interface.py:1754
#: gajim/dialogs.py:926 gajim/disco.py:503 gajim/gui_interface.py:1757
#: gajim/dialog_messages.py:31 gajim/gtk/profile.py:332
#: gajim/gtk/join_groupchat.py:234
msgid "You are not connected to the server"
......@@ -1520,8 +1520,8 @@ msgstr "Транспарты"
#: gajim/roster_window.py:1755 gajim/roster_window.py:1757
#: gajim/roster_window.py:2613 gajim/roster_window.py:5117
#: gajim/message_window.py:522 gajim/gui_interface.py:1927
#: gajim/gui_interface.py:1952 gajim/common/contacts.py:167
#: gajim/message_window.py:522 gajim/gui_interface.py:1930
#: gajim/gui_interface.py:1955 gajim/common/contacts.py:167
#: gajim/common/helpers.py:62 gajim/common/modules/adhoc_commands.py:248
msgid "Groupchats"
msgstr "Групавыя размовы"
......@@ -2913,21 +2913,21 @@ msgid ""
"Are you sure you want to do that?"
msgstr "Вы ствараеце мета-кантакт. Вы сапраўды хочаце працягнуць?"
#: gajim/gui_interface.py:1755 gajim/gtk/join_groupchat.py:235
#: gajim/gui_interface.py:1758 gajim/gtk/join_groupchat.py:235
msgid "You can not join a group chat unless you are connected."
msgstr ""
"Вы не можаце ўдзельнічаць у групавой размове, не злучыўшыся з серверам."
#: gajim/gui_interface.py:1761
#: gajim/gui_interface.py:1764
#, fuzzy
msgid "JID is not a Groupchat"
msgstr "Гэта не групавая размова"
#: gajim/gui_interface.py:1892
#: gajim/gui_interface.py:1895
msgid "This is not a group chat"
msgstr "Гэта не групавая размова"
#: gajim/gui_interface.py:1893
#: gajim/gui_interface.py:1896
#, python-format
msgid ""
"%(room_jid)s is already in your roster. Please check if %(room_jid)s is a "
......@@ -2935,39 +2935,39 @@ msgid ""
"joining the group chat again."
msgstr ""
#: gajim/gui_interface.py:1918 gajim/dialog_messages.py:63
#: gajim/gui_interface.py:1921 gajim/dialog_messages.py:63
msgid "You cannot join a group chat while you are invisible"
msgstr "Вы не можаце ўдзельнічаць у групавой размове нябачным"
#: gajim/gui_interface.py:2277
#: gajim/gui_interface.py:2280
msgid "Could not save your settings and preferences"
msgstr "Немагчыма захаваць настаўленні"