diff --git a/ChangeLog b/ChangeLog index 2b7391944..fd3d30f63 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,34 @@ +Gajim 0.15 (XX XX 2011) + + * Plugin system + * Whiteboard (via a plugin) + * Message archiving + * Stream managment + * IBB + * Nested roster group + * Roster filtrering + * UPower support + * GPG support for windows + +Gajim 0.14.4 (22 July 2011) + + * Fix translation issue + * other minor fixes + +Gajim 0.14.3 (19 June 2011) + + * Fix history viewer + * Fix closing roster window + * Prevent some erros with metacontacts + +Gajim 0.14.2 (07 June 2011) + + * Fix CPU usage when testing file transfer proxies + * Fix invalid XML char regex + * Fix subscription request window handling + * Fix URL display in chat message banner + * Other minor bugfixes + Gajim 0.14.1 (26 October 2010) * Fix changing account name diff --git a/Makefile.am b/Makefile.am index 14ddf443d..99a138018 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,20 +1,12 @@ -SUBDIRS = src data plugins po icons +SUBDIRS = src data po icons plugins ACLOCAL_AMFLAGS = -I m4 bin_SCRIPTS = scripts/gajim scripts/gajim-history-manager scripts/gajim-remote -docfilesdir = $(docdir) -docfiles_DATA = README \ - README.html \ - ChangeLog \ - COPYING \ - THANKS \ - THANKS.artists \ - AUTHORS - EXTRA_DIST = \ - $(docfiles_DATA) \ + README.html \ + THANKS.artists \ autogen.sh \ intltool-extract.in \ intltool-merge.in \ diff --git a/README.html b/README.html index ad2b1e102..df3362337 100644 --- a/README.html +++ b/README.html @@ -72,7 +72,7 @@ or if you use hg version and you didn't 'make install' you can also run from gaj

steps to compile gajim:

-    $ sh autogen.sh
+    $ ./autogen.sh
     $ ./configure
     $ make
 
@@ -95,7 +95,7 @@ If you want to remove it from custom directory provide it as:

Miscellaneous

XML & Debugging

-

If you want to see the xml stanzas and/or help us debugging +

If you want to see the xml stanzas and/or help us debugging you're advised to enable verbose via advanced configuration window. If you don't want to make this permanent, execute gajim with --verbose everytime you want to have verbose output.

diff --git a/autogen.sh b/autogen.sh index 433d39a4e..b2e46611a 100755 --- a/autogen.sh +++ b/autogen.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash - gajimversion="0.14.0.1" + gajimversion="0.15-beta2" if [ -d ".hg" ]; then node=$(hg tip --template "{node}") hgversion="-${node:0:12}" diff --git a/data/gui/accounts_window.ui b/data/gui/accounts_window.ui index 4a1b0be37..de088497e 100644 --- a/data/gui/accounts_window.ui +++ b/data/gui/accounts_window.ui @@ -63,13 +63,42 @@ - gtk-add True True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - True + + + True + 0 + 0 + + + True + 2 + + + True + gtk-add + + + 0 + + + + + True + Add + + + 1 + + + + + + False @@ -78,13 +107,42 @@ - gtk-remove True True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - True + + + True + 0 + 0 + + + True + 2 + + + True + gtk-remove + + + 0 + + + + + True + Delete + + + 1 + + + + + + False @@ -99,52 +157,37 @@ GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - + True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 6 + 0 + 0 - + True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 2 + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + gtk-missing-image + + + 0 + + + + + True + GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + Re_name + True + + + 1 + + - - False - 0 - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - gtk-missing-image - - - False - False - 1 - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - Re_name - True - - - False - 2 - - - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - - - 3 - @@ -451,48 +494,70 @@ True True - + True + vertical 6 - + True - 0 - _Client Cert File: - True - cert_entry1 + 6 + + + True + 0 + _Client Cert File: + True + cert_entry1 + + + False + 0 + + + + + True + True + + + + 1 + + + + + Browse... + True + True + True + + + + False + False + 2 + + - False 0 - + + Certificate is e_ncrypted True True - The path to the client certificate and key in PKCS#12 format - + False + True + True + 1 - - - Browse... - True - True - True - Choose Client Cert - - - - False - False - 2 - - diff --git a/data/gui/chat_control.ui b/data/gui/chat_control.ui index 52298b2e2..cd71b42e4 100644 --- a/data/gui/chat_control.ui +++ b/data/gui/chat_control.ui @@ -450,7 +450,7 @@ True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK gtk-info - 2 + 1 diff --git a/data/gui/contact_context_menu.ui b/data/gui/contact_context_menu.ui index 06acb8572..dfd28cf14 100644 --- a/data/gui/contact_context_menu.ui +++ b/data/gui/contact_context_menu.ui @@ -98,7 +98,7 @@ - _Manage Contact + M_anage Contact True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK True diff --git a/data/gui/history_window.ui b/data/gui/history_window.ui index d6b77b799..0b36ff7f1 100644 --- a/data/gui/history_window.ui +++ b/data/gui/history_window.ui @@ -80,6 +80,22 @@ 2 + + + _In date search + True + False + False + searching only in the selected day + True + True + + + False + False + 3 + + False @@ -104,14 +120,17 @@ True True - + False 0 + + + False diff --git a/data/gui/plugins_window.ui b/data/gui/plugins_window.ui index b22be2724..2895e2502 100644 --- a/data/gui/plugins_window.ui +++ b/data/gui/plugins_window.ui @@ -25,24 +25,82 @@ True True 250 - True - + True - True - 6 - automatic - automatic + 0 - + True - True + vertical + + + True + True + 6 + never + + + True + True + + + + + 0 + + + + + True + 0 + none + 0 + + + True + True + True + + + + True + + + True + gtk-apply + + + 0 + + + + + True + 0 + Install from zip + + + 1 + + + + + + + + + False + 5 + 1 + + False - True + False @@ -166,7 +224,6 @@ True - vertical True @@ -181,15 +238,7 @@ - - True - - - - - - 1 - + @@ -220,58 +269,21 @@ - + True 5 end - - - True - False - True - - - - True - - - True - gtk-apply - - - 0 - - - - - True - 0 - Install - - - 1 - - - - - - - False - False - 0 - - True - False + True True - + True - + True gtk-cancel @@ -280,7 +292,7 @@ - + True 0 Uninstall @@ -305,10 +317,10 @@ True - + True - + True gtk-preferences @@ -317,7 +329,7 @@ - + True 0 Configure @@ -358,264 +370,6 @@ False - - - True - False - True - - - True - True - automatic - automatic - - - True - True - - - - - False - True - - - - - True - vertical - - - True - - - True - <empty> - True - - - False - 0 - - - - - True - - - - - - 1 - - - - - False - 0 - - - - - True - - - True - Version: - - - False - 0 - - - - - True - <empty> - True - - - False - 1 - - - - - False - 1 - - - - - True - - - True - Authors: - - - False - 0 - - - - - True - <empty> - True - - - False - 1 - - - - - False - 2 - - - - - True - - - True - Homepage: - - - False - 0 - - - - - button - True - True - True - none - False - - - False - 1 - - - - - False - 3 - - - - - True - vertical - - - True - - - True - Descrition: - - - False - 0 - - - - - True - - - - - - 1 - - - - - False - 0 - - - - - True - True - - - 1 - - - - - 4 - - - - - True - end - - - button - True - True - True - - - False - False - 0 - - - - - button - True - True - True - - - False - False - 1 - - - - - False - 5 - - - - - True - True - - - - - 1 - - - - - True - False - True - Available - - - 1 - False - - diff --git a/data/gui/preferences_window.ui b/data/gui/preferences_window.ui index 4fc92decc..c6929e1ea 100644 --- a/data/gui/preferences_window.ui +++ b/data/gui/preferences_window.ui @@ -2,6 +2,20 @@ + + 20 + 1 + 1440 + 1 + 10 + + + 12 + 1 + 720 + 1 + 10 + @@ -124,6 +138,17 @@ + + + + + + + + None + + + 6 Preferences @@ -134,7 +159,6 @@ True - vertical 6 @@ -145,7 +169,6 @@ True 12 - vertical 12 @@ -163,7 +186,6 @@ True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - vertical 6 @@ -537,7 +559,6 @@ True 12 - vertical 6 @@ -552,7 +573,6 @@ True - vertical 6 @@ -655,7 +675,6 @@ True - vertical 6 @@ -778,7 +797,6 @@ True - vertical 6 @@ -870,7 +888,6 @@ True 12 - vertical 12 @@ -1002,7 +1019,6 @@ True 12 - vertical 12 @@ -1196,7 +1212,6 @@ $T will be replaced by auto-not-available timeout True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - vertical 6 @@ -1268,8 +1283,6 @@ $T will be replaced by auto-not-available timeout True True If enabled, Gajim will not ask for a status message. The specified default message will be used instead. - automatic - automatic in @@ -1365,8 +1378,6 @@ $T will be replaced by auto-not-available timeout True True - automatic - automatic in @@ -1439,7 +1450,6 @@ $T will be replaced by auto-not-available timeout True 12 - vertical 12 @@ -2062,7 +2072,6 @@ $T will be replaced by auto-not-available timeout True 12 - vertical 12 @@ -2365,7 +2374,6 @@ to discover one from server. True 12 - vertical 12 @@ -2380,7 +2388,6 @@ to discover one from server. True - vertical 6 @@ -2547,7 +2554,7 @@ to discover one from server. True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - 4 + 6 6 6 @@ -2567,7 +2574,7 @@ to discover one from server. - Allow _OS information to be sent + Allow client / _OS information to be sent True True False @@ -2581,6 +2588,22 @@ to discover one from server. 2 + + + Allow local system time information to be sent + True + True + False + If checked, Gajim will allow others to detect the time on your system + True + True + + + + 2 + 3 + + Log _encrypted chat session @@ -2593,8 +2616,8 @@ to discover one from server. - 2 - 3 + 3 + 4 @@ -2608,8 +2631,58 @@ to discover one from server. - 3 - 4 + 4 + 5 + + + + + True + 6 + + + True + Global proxy: + + + False + 0 + + + + + True + liststore8 + + + + + 0 + + + + + 1 + + + + + _Manage... + True + True + True + True + + + + False + 2 + + + + + 5 + 6 @@ -2643,7 +2716,6 @@ to discover one from server. True - vertical 6 @@ -2817,18 +2889,4 @@ to discover one from server. - - 20 - 1 - 1440 - 1 - 10 - - - 12 - 1 - 720 - 1 - 10 - diff --git a/data/gui/roster_window.ui b/data/gui/roster_window.ui index 9566316a3..1d222779a 100644 --- a/data/gui/roster_window.ui +++ b/data/gui/roster_window.ui @@ -7,7 +7,7 @@ 200 Gajim roster - 200 + 250 400 @@ -202,7 +202,7 @@ True - Show Trans_ports + Show T_rans_ports True @@ -218,16 +218,6 @@ - - - True - GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - Show Roster Fi_lter - True - - - - True diff --git a/debian/README.Debian b/debian/README.Debian index 1c24acc9c..f94442643 100644 --- a/debian/README.Debian +++ b/debian/README.Debian @@ -1,8 +1,6 @@ gajim for Debian ---------------- -If you want to use OpenPGP in gajim, you have to install python-gnupginterface. - For video chat support, you have to install python-farsight. -- Yann Le Boulanger , Mon, 20 Jun 2005 12:02:31 +0200 diff --git a/debian/changelog b/debian/changelog index 8029651ff..fe9ca177c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,36 @@ +gajim (0.15~alpha1-1) unstable; urgency=low + + * New upstream release. + * remove 00_debian-copying.diff because upstream doesn't install it anymore + * remove 01_configure-ac.diff because upstream changed configure dependencies + * remove python-gnupginterface from recommands list, it's no more used + + -- Yann Leboulanger Fri, 26 Aug 2011 12:13:51 +0200 + +gajim (0.14.4-1) unstable; urgency=low + + * New upstream release. Closes: #637071 + * Fixes weird error. Closes: #632226 + * Stop suggesting unused python-sexy. Closes: #633301 + * Modify 00_debian-copying.diff to also not install ChangeLog file. + dh_changelogs will do it. + + -- Yann Leboulanger Fri, 22 Jul 2011 12:56:30 +0200 + +gajim (0.14.3-1) unstable; urgency=low + + * New upstream release. + * Fix closing roster window. Closes: #630315 + + -- Yann Leboulanger Sun, 19 Jun 2011 21:46:09 +0200 + +gajim (0.14.2-1) unstable; urgency=low + + * New upstream release. + * Fix CPU usage when testing file transfer proxies. Closes: #626576 + + -- Yann Leboulanger Tue, 07 Jun 2011 19:30:43 +0200 + gajim (0.14.1-1) unstable; urgency=low [ Yann Leboulanger ] diff --git a/debian/control b/debian/control index bc78a4a83..0bd63d2fc 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,7 @@ Source: gajim Section: net Priority: optional Maintainer: Yann Leboulanger -Build-Depends: debhelper (>= 7.0.50~), python (>= 2.6.6-3~), dh-autoreconf, gettext (>= 0.17-4), intltool (>= 0.40.1), imagemagick, libglib2.0-dev +Build-Depends: debhelper (>= 7.0.50~), python (>= 2.6.6-3~), gettext (>= 0.17-4), intltool (>= 0.40.1), imagemagick, libglib2.0-dev Standards-Version: 3.9.2 Homepage: http://www.gajim.org Vcs-Hg: http://hg.gajim.org/gajim/ @@ -11,8 +11,8 @@ Vcs-Browser: http://hg.gajim.org/gajim/file Package: gajim Architecture: all Depends: ${misc:Depends}, ${python:Depends}, python-gtk2 (>= 2.16.0), dnsutils -Recommends: dbus, python-dbus, notification-daemon, python-gnupginterface, python-openssl (>= 0.9), python-crypto -Suggests: python-gconf, python-gnome2, nautilus-sendto, avahi-daemon, python-avahi, network-manager, libgtkspell0, aspell-en, python-gnomekeyring, gnome-keyring, python-sexy, python-kerberos (>= 1.1), texlive-latex-base, dvipng, python-farsight, gstreamer0.10-plugins-ugly +Recommends: dbus, python-dbus, notification-daemon, python-openssl (>= 0.9), python-crypto +Suggests: python-gconf, python-gnome2, nautilus-sendto, avahi-daemon, python-avahi, network-manager, libgtkspell0, aspell-en, python-gnomekeyring, gnome-keyring, python-kerberos (>= 1.1), texlive-latex-base, dvipng, python-farsight, gstreamer0.10-plugins-ugly Description: Jabber client written in PyGTK Gajim is a Jabber client. It has a tabbed user interface with normal chats, group chats, and has many features such as, TLS, GPG, SSL, multiple accounts, diff --git a/debian/copyright b/debian/copyright index 2810d2df5..09a3c30c7 100644 --- a/debian/copyright +++ b/debian/copyright @@ -5,8 +5,8 @@ It was downloaded from: http://www.gajim.org/downloads/ Upstream Authors: - - Alexander Cherniuk - - Yann Le Boulanger + - Denis Fomin + - Yann Leboulanger Copyright: (c) 2003-2011 Gajim Team diff --git a/debian/docs b/debian/docs index e845566c0..daa30a3f7 100644 --- a/debian/docs +++ b/debian/docs @@ -1 +1 @@ -README +README.html diff --git a/debian/install b/debian/install new file mode 100644 index 000000000..a38ad6e6d --- /dev/null +++ b/debian/install @@ -0,0 +1 @@ +debian/gajim.xpm usr/share/pixmaps diff --git a/debian/patches/00_debian-copying.diff b/debian/patches/00_debian-copying.diff deleted file mode 100644 index 6c9cc7700..000000000 --- a/debian/patches/00_debian-copying.diff +++ /dev/null @@ -1,23 +0,0 @@ -Description: don't install useless COPYING file -Forwarded: not-neded - ---- a/Makefile.am -+++ b/Makefile.am -@@ -8,7 +8,6 @@ - docfiles_DATA = README \ - README.html \ - ChangeLog \ -- COPYING \ - THANKS \ - THANKS.artists \ - AUTHORS ---- a/Makefile.in -+++ b/Makefile.in -@@ -299,7 +299,6 @@ - docfiles_DATA = README \ - README.html \ - ChangeLog \ -- COPYING \ - THANKS \ - THANKS.artists \ - AUTHORS diff --git a/debian/patches/01_configure-ac.diff b/debian/patches/01_configure-ac.diff deleted file mode 100644 index cae1e2368..000000000 --- a/debian/patches/01_configure-ac.diff +++ /dev/null @@ -1,34 +0,0 @@ -Description: don't require python headers to remove build-dep on python-dev and python-gtk2-dev -Author: Yann Leboulanger -Origin: upstream,http://hg.gajim.org/gajim/diff/252bb3cf2c59/configure.ac -Last-Update: 2011-05-07 - ---- a/configure.ac -+++ b/configure.ac -@@ -36,25 +36,10 @@ - AM_NLS - - --dnl **** --dnl pygtk and gtk+ --dnl **** --PKG_CHECK_MODULES([PYGTK], [gtk+-2.0 >= 2.16.0 pygtk-2.0 >= 2.16.0]) --AC_SUBST(PYGTK_CFLAGS) --AC_SUBST(PYGTK_LIBS) --PYGTK_DEFS=`$PKG_CONFIG --variable=defsdir pygtk-2.0` --AC_SUBST(PYGTK_DEFS) -- --AM_PATH_PYTHON([2.5]) --if test "x$PYTHON" = "x:"; then -- AC_MSG_ERROR([Python not found]) --fi -- - ACLOCAL_AMFLAGS="\${ACLOCAL_FLAGS}" - AC_SUBST(ACLOCAL_AMFLAGS) - --AM_CHECK_PYTHON_HEADERS(,[AC_MSG_ERROR(could not find Python headers)]) --AC_SUBST([PYTHON_INCLUDES]) -+AM_PATH_PYTHON([2.5]) - - dnl **** - dnl enable installation in python-2.x/site-packages/gajim diff --git a/debian/patches/series b/debian/patches/series deleted file mode 100644 index 789adce6e..000000000 --- a/debian/patches/series +++ /dev/null @@ -1,2 +0,0 @@ -00_debian-copying.diff -01_configure-ac.diff diff --git a/debian/rules b/debian/rules index e44603a7b..dd60f48b2 100755 --- a/debian/rules +++ b/debian/rules @@ -1,7 +1,7 @@ #!/usr/bin/make -f %: - dh $@ --with python2,autoreconf + dh $@ --with python2 # test target is broken override_dh_auto_test: @@ -10,10 +10,6 @@ override_dh_auto_configure: convert icons/hicolor/64x64/apps/gajim.png -resize 32x32 debian/gajim.xpm dh_auto_configure -override_dh_auto_install: - dh_auto_install - rm debian/gajim/usr/share/gajim/src/common/GnuPGInterface.py* - override_dh_auto_clean: -rm -f debian/gajim.xpm dh_auto_clean diff --git a/gajim.nsi b/gajim.nsi index c09d90261..25df14534 100644 --- a/gajim.nsi +++ b/gajim.nsi @@ -146,6 +146,7 @@ Section "Gajim" SecGajim File "THANKS.artists" SetOutPath "$INSTDIR\bin" + File "bin\_bsddb.pyd" File "bin\_ctypes.pyd" File "bin\_hashlib.pyd" File "bin\_socket.pyd" @@ -158,20 +159,23 @@ Section "Gajim" SecGajim File "bin\Crypto.Hash.SHA256.pyd" File "bin\Crypto.Random.OSRNG.winrandom.pyd" File "bin\Crypto.Util._counter.pyd" + File "bin\Crypto.Util.strxor.pyd" File "bin\gajim.exe" File "bin\gio._gio.pyd" File "bin\glib._glib.pyd" File "bin\gobject._gobject.pyd" + File "bin\goocanvas.pyd" File "bin\gtk._gtk.pyd" File "bin\history_manager.exe" File "bin\OpenSSL.crypto.pyd" File "bin\libeay32.dll" + File "bin\libgoocanvas-3.dll" File "bin\library.zip" File "bin\pangocairo.pyd" File "bin\pango.pyd" File "bin\pyexpat.pyd" - File "bin\python26.dll" - File "bin\pywintypes26.dll" + File "bin\python27.dll" + File "bin\pywintypes27.dll" File "bin\OpenSSL.rand.pyd" File "bin\select.pyd" File "bin\sqlite3.dll" @@ -188,7 +192,7 @@ Section "Gajim" SecGajim WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gajim" "DisplayName" "Gajim" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gajim" "UninstallString" "$INSTDIR\Uninstall.exe" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gajim" "DisplayIcon" "$INSTDIR\bin\Gajim.exe" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gajim" "DisplayVersion" "0.14.1" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gajim" "DisplayVersion" "0.15" WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Gajim" "URLInfoAbout" "http://www.gajim.org/" WriteUninstaller "$INSTDIR\Uninstall.exe" @@ -234,6 +238,11 @@ Section "Gtk+ 2" SecGtk File /r "bin\gtk\share\xml" SectionEnd +Section "Plugins" SecPlugins + SetOutPath "$INSTDIR\plugins" + File /r "plugins\plugin_installer" +SectionEnd + SectionGroup $(NAME_Emoticons) Section "animated" SecEmoticonsAnimated @@ -641,6 +650,7 @@ Section "Uninstall" RMDir /r "$INSTDIR\bin\gtk\share\xml" RMDir "$INSTDIR\bin\gtk\share" RMDir "$INSTDIR\bin\gtk" + Delete "$INSTDIR\bin\_bsddb.pyd" Delete "$INSTDIR\bin\_ctypes.pyd" Delete "$INSTDIR\bin\_hashlib.pyd" Delete "$INSTDIR\bin\_socket.pyd" @@ -653,13 +663,16 @@ Section "Uninstall" Delete "$INSTDIR\bin\Crypto.Hash.SHA256.pyd" Delete "$INSTDIR\bin\Crypto.Random.OSRNG.winrandom.pyd" Delete "$INSTDIR\bin\Crypto.Util._counter.pyd" + Delete "$INSTDIR\bin\Crypto.Util.strxor.pyd" Delete "$INSTDIR\bin\gajim.exe" Delete "$INSTDIR\bin\gio._gio.pyd" Delete "$INSTDIR\bin\glib._glib.pyd" Delete "$INSTDIR\bin\gobject._gobject.pyd" + Delete "$INSTDIR\bin\goocanvas.pyd" Delete "$INSTDIR\bin\gtk._gtk.pyd" Delete "$INSTDIR\bin\history_manager.exe" Delete "$INSTDIR\bin\libeay32.dll" + Delete "$INSTDIR\bin\libgoocanvas-3.dll" Delete "$INSTDIR\bin\library.zip" Delete "$INSTDIR\bin\OpenSSL.crypto.pyd" Delete "$INSTDIR\bin\OpenSSL.rand.pyd" @@ -667,8 +680,8 @@ Section "Uninstall" Delete "$INSTDIR\bin\pango.pyd" Delete "$INSTDIR\bin\pangocairo.pyd" Delete "$INSTDIR\bin\pyexpat.pyd" - Delete "$INSTDIR\bin\python26.dll" - Delete "$INSTDIR\bin\pywintypes26.dll" + Delete "$INSTDIR\bin\python27.dll" + Delete "$INSTDIR\bin\pywintypes27.dll" Delete "$INSTDIR\bin\select.pyd" Delete "$INSTDIR\bin\sqlite3.dll" Delete "$INSTDIR\bin\ssleay32.dll" @@ -677,7 +690,8 @@ Section "Uninstall" Delete "$INSTDIR\bin\win32file.pyd" Delete "$INSTDIR\bin\win32pipe.pyd" Delete "$INSTDIR\bin\winsound.pyd" - RMDir "$INSTDIR\bin" + Delete "$INSTDIR\bin\msvcr90.dll" + RMDir /r "$INSTDIR\bin" RMDir /r "$INSTDIR\data\gui" RMDir /r "$INSTDIR\data\moods" RMDir /r "$INSTDIR\data\activities" @@ -698,6 +712,8 @@ Section "Uninstall" RMDir /r "$INSTDIR\data\iconsets\transports" RMDir "$INSTDIR\data\iconsets" RMDir "$INSTDIR\data" + RMDir /r "$INSTDIR\plugins\plugin_installer" + RMDir "$INSTDIR\plugins" RMDir /r "$INSTDIR\icons\hicolor" RMDir "$INSTDIR\icons" RMDir /r "$INSTDIR\po\be" diff --git a/plugins/Makefile.am b/plugins/Makefile.am index 8ae9bce2c..e6b04d04c 100644 --- a/plugins/Makefile.am +++ b/plugins/Makefile.am @@ -3,15 +3,13 @@ INCLUDES = \ gajimpluginsdir = $(gajim_pluginsdir) -installedplugins = acronyms_expander banner_tweaks ftp_manager length_notifier whiteboard +dist_gajimplugins_PYTHON = -installedpluginsfiles = $(wildcard ${srcdir}/${p}/*.py ${srcdir}/${p}/manifest.ini ${srcdir}/${p}/*.ui ${srcdir}/${p}/*.png) +pluginsdirs = ${sort ${dir ${wildcard ${srcdir}/*/ ${srcdir}/*/*/}}} -nobase_dist_gajimplugins_PYTHON = $(foreach p, ${installedplugins}, $(installedpluginsfiles)) +pluginsfiles = $(wildcard ${p}/*.py ${p}/manifest.ini ${p}/*.ui ${p}/*.png) + +nobase_gajimplugins_DATA = $(foreach p, ${pluginsdirs}, $(pluginsfiles)) -EXTRA_DIST = \ - $(srcdir)/*/*.py \ - $(srcdir)/*/manifest.ini \ - $(srcdir)/*/*.ui MAINTAINERCLEANFILES = Makefile.in diff --git a/plugins/acronyms_expander/acronyms_expander.py b/plugins/acronyms_expander/acronyms_expander.py index 919f1a12c..d98e255ff 100644 --- a/plugins/acronyms_expander/acronyms_expander.py +++ b/plugins/acronyms_expander/acronyms_expander.py @@ -36,6 +36,8 @@ class AcronymsExpanderPlugin(GajimPlugin): @log_calls('AcronymsExpanderPlugin') def init(self): + self.description = _('Replaces acronyms (or other strings) ' + 'with given expansions/substitutes.') self.config_dialog = None self.gui_extension_points = { @@ -44,7 +46,7 @@ class AcronymsExpanderPlugin(GajimPlugin): } self.config_default_values = { - 'INVOKER': (' ', _('')), + 'INVOKER': (' ', ''), 'ACRONYMS': ({'RTFM': 'Read The Friendly Manual', '/slap': '/me slaps', 'PS-': 'plug-in system', @@ -53,7 +55,7 @@ class AcronymsExpanderPlugin(GajimPlugin): 'GW-': 'http://trac.gajim.org/', 'GTS-': 'http://trac.gajim.org/report', }, - _('')), + ''), } @log_calls('AcronymsExpanderPlugin') diff --git a/plugins/banner_tweaks/__init__.py b/plugins/banner_tweaks/__init__.py deleted file mode 100644 index a328f68ee..000000000 --- a/plugins/banner_tweaks/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ - -from plugin import BannerTweaksPlugin diff --git a/plugins/banner_tweaks/config_dialog.ui b/plugins/banner_tweaks/config_dialog.ui deleted file mode 100644 index 1994c1c9d..000000000 --- a/plugins/banner_tweaks/config_dialog.ui +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - diff --git a/plugins/banner_tweaks/manifest.ini b/plugins/banner_tweaks/manifest.ini deleted file mode 100644 index 4cc3652f7..000000000 --- a/plugins/banner_tweaks/manifest.ini +++ /dev/null @@ -1,10 +0,0 @@ -[info] -name: Banner Tweaks -short_name: banner_tweaks -version: 0.1 -description: Allows user to tweak chat window banner appearance (eg. make it compact). - Based on patch by pb in ticket #4133: - http://trac.gajim.org/attachment/ticket/4133. -authors = Mateusz Biliński -homepage = http://blog.bilinski.it - diff --git a/plugins/banner_tweaks/plugin.py b/plugins/banner_tweaks/plugin.py deleted file mode 100644 index a100cfe45..000000000 --- a/plugins/banner_tweaks/plugin.py +++ /dev/null @@ -1,201 +0,0 @@ -# -*- coding: utf-8 -*- - -## This file is part of Gajim. -## -## Gajim 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 is distributed in the hope that it will be useful, -## but WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -## GNU General Public License for more details. -## -## You should have received a copy of the GNU General Public License -## along with Gajim. If not, see . -## - -''' -Adjustable chat window banner. - -Includes tweaks to make it compact. - -Based on patch by pb in ticket #4133: -http://trac.gajim.org/attachment/ticket/4133/gajim-chatbanneroptions-svn10008.patch - -:author: Mateusz Biliński -:since: 30 July 2008 -:copyright: Copyright (2008) Mateusz Biliński -:license: GPL -''' - -import sys - -import gtk -import gobject -import message_control -from common import i18n -from common import gajim -from common import helpers - -from plugins import GajimPlugin -from plugins.helpers import log, log_calls -from plugins.gui import GajimPluginConfigDialog - -class BannerTweaksPlugin(GajimPlugin): - - @log_calls('BannerTweaksPlugin') - def init(self): - self.config_dialog = BannerTweaksPluginConfigDialog(self) - - self.gui_extension_points = { - 'chat_control_base_draw_banner': (self.chat_control_base_draw_banner_called, - self.chat_control_base_draw_banner_deactivation) - } - - self.config_default_values = { - 'show_banner_image': (True, _('If True, Gajim will display a status icon in the banner of chat windows.')), - 'show_banner_online_msg': (True, _('If True, Gajim will display the status message of the contact in the banner of chat windows.')), - 'show_banner_resource': (False, _('If True, Gajim will display the resource name of the contact in the banner of chat windows.')), - 'banner_small_fonts': (False, _('If True, Gajim will use small fonts for contact name and resource name in the banner of chat windows.')), - 'old_chat_avatar_height': (52, _('chat_avatar_height value before plugin was activated')), - } - - @log_calls('BannerTweaksPlugin') - def activate(self): - self.config['old_chat_avatar_height'] = gajim.config.get('chat_avatar_height') - #gajim.config.set('chat_avatar_height', 28) - - @log_calls('BannerTweaksPlugin') - def deactivate(self): - gajim.config.set('chat_avatar_height', self.config['old_chat_avatar_height']) - - @log_calls('BannerTweaksPlugin') - def chat_control_base_draw_banner_called(self, chat_control): - if not self.config['show_banner_online_msg']: - chat_control.banner_status_label.hide() - chat_control.banner_status_label.set_no_show_all(True) - status_text = '' - chat_control.banner_status_label.set_markup(status_text) - - if not self.config['show_banner_image']: - if chat_control.TYPE_ID == message_control.TYPE_GC: - banner_status_img = chat_control.xml.get_object( - 'gc_banner_status_image') - else: - banner_status_img = chat_control.xml.get_object( - 'banner_status_image') - banner_status_img.clear() - - # TODO: part below repeats a lot of code from ChatControl.draw_banner_text() - # This could be rewritten using re module: getting markup text from - # banner_name_label and replacing some elements based on plugin config. - # Would it be faster? - if self.config['show_banner_resource'] or self.config['banner_small_fonts']: - banner_name_label = chat_control.xml.get_object('banner_name_label') - label_text = banner_name_label.get_label() - - contact = chat_control.contact - jid = contact.jid - - name = contact.get_shown_name() - if chat_control.resource: - name += '/' + chat_control.resource - elif contact.resource and self.config['show_banner_resource']: - name += '/' + contact.resource - - if chat_control.TYPE_ID == message_control.TYPE_PM: - name = _('%(nickname)s from group chat %(room_name)s') %\ - {'nickname': name, 'room_name': chat_control.room_name} - name = gobject.markup_escape_text(name) - - # We know our contacts nick, but if another contact has the same nick - # in another account we need to also display the account. - # except if we are talking to two different resources of the same contact - acct_info = '' - for account in gajim.contacts.get_accounts(): - if account == chat_control.account: - continue - if acct_info: # We already found a contact with same nick - break - for jid in gajim.contacts.get_jid_list(account): - other_contact_ = \ - gajim.contacts.get_first_contact_from_jid(account, jid) - if other_contact_.get_shown_name() == chat_control.contact.get_shown_name(): - acct_info = ' (%s)' % \ - gobject.markup_escape_text(chat_control.account) - break - - font_attrs, font_attrs_small = chat_control.get_font_attrs() - if self.config['banner_small_fonts']: - font_attrs = font_attrs_small - - st = gajim.config.get('displayed_chat_state_notifications') - cs = contact.chatstate - if cs and st in ('composing_only', 'all'): - if contact.show == 'offline': - chatstate = '' - elif contact.composing_xep == 'XEP-0085': - if st == 'all' or cs == 'composing': - chatstate = helpers.get_uf_chatstate(cs) - else: - chatstate = '' - elif contact.composing_xep == 'XEP-0022': - if cs in ('composing', 'paused'): - # only print composing, paused - chatstate = helpers.get_uf_chatstate(cs) - else: - chatstate = '' - else: - # When does that happen ? See [7797] and [7804] - chatstate = helpers.get_uf_chatstate(cs) - - label_text = '%s%s %s' % \ - (font_attrs, name, font_attrs_small, acct_info, chatstate) - else: - # weight="heavy" size="x-large" - label_text = '%s%s' % \ - (font_attrs, name, font_attrs_small, acct_info) - - banner_name_label.set_markup(label_text) - - @log_calls('BannerTweaksPlugin') - def chat_control_base_draw_banner_deactivation(self, chat_control): - pass - #chat_control.draw_banner() - -class BannerTweaksPluginConfigDialog(GajimPluginConfigDialog): - def init(self): - self.GTK_BUILDER_FILE_PATH = self.plugin.local_file_path( - 'config_dialog.ui') - self.xml = gtk.Builder() - self.xml.set_translation_domain(i18n.APP) - self.xml.add_objects_from_file(self.GTK_BUILDER_FILE_PATH, - ['banner_tweaks_config_vbox']) - self.config_vbox = self.xml.get_object('banner_tweaks_config_vbox') - self.child.pack_start(self.config_vbox) - - self.show_banner_image_checkbutton = self.xml.get_object('show_banner_image_checkbutton') - self.show_banner_online_msg_checkbutton = self.xml.get_object('show_banner_online_msg_checkbutton') - self.show_banner_resource_checkbutton = self.xml.get_object('show_banner_resource_checkbutton') - self.banner_small_fonts_checkbutton = self.xml.get_object('banner_small_fonts_checkbutton') - - self.xml.connect_signals(self) - - def on_run(self): - self.show_banner_image_checkbutton.set_active(self.plugin.config['show_banner_image']) - self.show_banner_online_msg_checkbutton.set_active(self.plugin.config['show_banner_online_msg']) - self.show_banner_resource_checkbutton.set_active(self.plugin.config['show_banner_resource']) - self.banner_small_fonts_checkbutton.set_active(self.plugin.config['banner_small_fonts']) - - def on_show_banner_image_checkbutton_toggled(self, button): - self.plugin.config['show_banner_image'] = button.get_active() - - def on_show_banner_online_msg_checkbutton_toggled(self, button): - self.plugin.config['show_banner_online_msg'] = button.get_active() - - def on_show_banner_resource_checkbutton_toggled(self, button): - self.plugin.config['show_banner_resource'] = button.get_active() - - def on_banner_small_fonts_checkbutton_toggled(self, button): - self.plugin.config['banner_small_fonts'] = button.get_active() diff --git a/plugins/dbus_plugin/plugin.py b/plugins/dbus_plugin/plugin.py index b7289aed0..3a583a7cf 100644 --- a/plugins/dbus_plugin/plugin.py +++ b/plugins/dbus_plugin/plugin.py @@ -688,6 +688,9 @@ class DBusPlugin(GajimPlugin): @log_calls('DBusPlugin') def init(self): + self.description = _('D-Bus support.' + ' Based on remote_control module from' + '\nGajim core but uses new events handling system.') self.config_dialog = None #self.gui_extension_points = {} #self.config_default_values = {} diff --git a/plugins/events_dump/plugin.py b/plugins/events_dump/plugin.py index 0d1026165..19c5eccfc 100644 --- a/plugins/events_dump/plugin.py +++ b/plugins/events_dump/plugin.py @@ -36,6 +36,7 @@ class EventsDumpPlugin(GajimPlugin): @log_calls('EventsDumpPlugin') def init(self): + self.description = _('Dumps info about selected events to console.') self.config_dialog = None #self.gui_extension_points = {} #self.config_default_values = {} diff --git a/plugins/ftp_manager/__init__.py b/plugins/ftp_manager/__init__.py deleted file mode 100644 index f62c201a7..000000000 --- a/plugins/ftp_manager/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from ftp_manager import FtpManager diff --git a/plugins/ftp_manager/config_dialog.ui b/plugins/ftp_manager/config_dialog.ui deleted file mode 100644 index 20122f0e6..000000000 --- a/plugins/ftp_manager/config_dialog.ui +++ /dev/null @@ -1,281 +0,0 @@ - - - - - - Plug-in decription should be displayed here. This text will be erased during PluginsWindow initialization. - - - - - 600 - 350 - True - True - 340 - True - - - True - True - 6 - automatic - automatic - - - True - True - 1 - - - - - False - True - - - - - True - 5 - vertical - 6 - - - True - 0 - <empty> - True - end - - - False - 0 - - - - - True - 6 - - - True - Authors: - - - False - 0 - - - - - True - 0 - 6 - <empty> - True - end - - - 1 - - - - - False - 1 - - - - - True - - - True - Homepage: - - - False - 0 - - - - - button - True - True - True - none - False - 0 - - - 1 - - - - - False - 2 - - - - - True - vertical - - - True - - - True - Description: - - - False - 0 - - - - - True - - - - - - 1 - - - - - False - 0 - - - - - True - True - 6 - word - 6 - 6 - 1 - - - 1 - - - - - 3 - - - - - True - - - end - - - 0 - - - - - True - end - - - True - False - False - True - - - - True - - - True - gtk-refresh - - - 0 - - - - - True - 0 - Install/Upgrade - - - 1 - - - - - - - False - False - 0 - - - - - False - False - end - 1 - - - - - False - False - 4 - - - - - True - True - - - - - - - - - True - - - True - 0 - Ftp server: - - - False - False - 0 - - - - - True - True - - - - 1 - - - - - - diff --git a/plugins/ftp_manager/ftp_manager.py b/plugins/ftp_manager/ftp_manager.py deleted file mode 100644 index ba1aad6e4..000000000 --- a/plugins/ftp_manager/ftp_manager.py +++ /dev/null @@ -1,460 +0,0 @@ -# -*- coding: utf-8 -*- -# -## plugins/ftp_manager/ftp_manager.py -## -## Copyright (C) 2010 Denis Fomin -## -## This file is part of Gajim. -## -## Gajim 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 is distributed in the hope that it will be useful, -## but WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -## GNU General Public License for more details. -## -## You should have received a copy of the GNU General Public License -## along with Gajim. If not, see . -## -import gtk -import pango -import gobject -import ftplib -import io -import threading -import ConfigParser -import os -import fnmatch -import sys - -from common import gajim -from plugins import GajimPlugin -from plugins.helpers import log_calls, log -from dialogs import WarningDialog, HigDialog -from plugins.gui import GajimPluginConfigDialog -from common import i18n - - -class FtpManager(GajimPlugin): - - @log_calls('FtpManagerPlugin') - def init(self): - self.config_dialog = FtpManagerPluginConfigDialog(self) - self.config_default_values = {'ftp_server': ('ftp.gajim.org', '')} - - @log_calls('FtpManagerPlugin') - def activate(self): - self.pl_menuitem = gajim.interface.roster.xml.get_object( - 'plugins_menuitem') - self.id_ = self.pl_menuitem.connect_after('activate', self.on_activate) - if 'plugins' in gajim.interface.instances: - self.on_activate(None) - - @log_calls('FtpManagerPlugin') - def deactivate(self): - self.pl_menuitem.disconnect(self.id_) - if hasattr(self, 'page_num'): - self.notebook.remove_page(self.page_num) - self.notebook.set_current_page(0) - if hasattr(self, 'ftp'): - del self.ftp - - def on_activate(self, widget): - if 'plugins' not in gajim.interface.instances: - return - self.installed_plugins_model = gajim.interface.instances[ - 'plugins'].installed_plugins_model - self.notebook = gajim.interface.instances['plugins'].plugins_notebook - self.id_n = self.notebook.connect('switch-page', - self.on_notebook_switch_page) - self.window = gajim.interface.instances['plugins'].window - self.window.connect('destroy', self.on_win_destroy) - self.GTK_BUILDER_FILE_PATH = self.local_file_path( - 'config_dialog.ui') - self.xml = gtk.Builder() - self.xml.set_translation_domain(i18n.APP) - self.xml.add_objects_from_file(self.GTK_BUILDER_FILE_PATH, - ['hpaned2']) - hpaned = self.xml.get_object('hpaned2') - self.page_num = self.notebook.append_page(hpaned, - gtk.Label('Ftp Manager')) - - widgets_to_extract = ('plugin_name_label1', - 'available_treeview', 'progressbar', 'inslall_upgrade_button', - 'plugin_authors_label1', 'plugin_authors_label1', - 'plugin_homepage_linkbutton1', 'plugin_description_textview1') - - for widget_name in widgets_to_extract: - setattr(self, widget_name, self.xml.get_object(widget_name)) - - attr_list = pango.AttrList() - attr_list.insert(pango.AttrWeight(pango.WEIGHT_BOLD, 0, -1)) - self.plugin_name_label1.set_attributes(attr_list) - - self.available_plugins_model = gtk.ListStore(gobject.TYPE_PYOBJECT, - gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_STRING, - gobject.TYPE_BOOLEAN, gobject.TYPE_PYOBJECT, gobject.TYPE_PYOBJECT, - gobject.TYPE_PYOBJECT) - self.available_treeview.set_model(self.available_plugins_model) - - self.progressbar.set_property('no-show-all', True) - renderer = gtk.CellRendererText() - col = gtk.TreeViewColumn(_('Plugin'), renderer, text=1) - col.set_resizable(True) - col.set_property('expand', True) - col.set_sizing(gtk.TREE_VIEW_COLUMN_GROW_ONLY) - self.available_treeview.append_column(col) - col = gtk.TreeViewColumn(_('Installed\nversion'), renderer, text=2) - self.available_treeview.append_column(col) - col = gtk.TreeViewColumn(_('Available\nversion'), renderer, text=3) - col.set_property('expand', False) - self.available_treeview.append_column(col) - - renderer = gtk.CellRendererToggle() - renderer.set_property('activatable', True) - renderer.connect('toggled', self.available_plugins_toggled_cb) - col = gtk.TreeViewColumn(_('Install /\nUpgrade'), renderer, active=4) - self.available_treeview.append_column(col) - - if gobject.signal_lookup('error_signal', self.window) is 0: - gobject.signal_new('error_signal', self.window, - gobject.SIGNAL_RUN_LAST, gobject.TYPE_STRING, - (gobject.TYPE_STRING,)) - gobject.signal_new('plugin_downloaded', self.window, - gobject.SIGNAL_RUN_LAST, gobject.TYPE_STRING, - (gobject.TYPE_PYOBJECT,)) - self.window.connect('error_signal', self.on_some_ftp_error) - self.window.connect('plugin_downloaded', self.on_plugin_downloaded) - - selection = self.available_treeview.get_selection() - selection.connect('changed', - self.available_plugins_treeview_selection_changed) - selection.set_mode(gtk.SELECTION_SINGLE) - - self._clear_available_plugin_info() - self.xml.connect_signals(self) - self.window.show_all() - - def on_win_destroy(self, widget): - if hasattr(self, 'ftp'): - del self.ftp - - def available_plugins_toggled_cb(self, cell, path): - is_active = self.available_plugins_model[path][4] - self.available_plugins_model[path][4] = not is_active - dir_list = [] - for i in xrange(len(self.available_plugins_model)): - if self.available_plugins_model[i][4]: - dir_list.append(self.available_plugins_model[i][0]) - if not dir_list: - self.inslall_upgrade_button.set_property('sensitive', False) - else: - self.inslall_upgrade_button.set_property('sensitive', True) - - def on_notebook_switch_page(self, widget, page, page_num,): - if not hasattr(self, 'ftp') and self.page_num == page_num: - self.available_plugins_model.clear() - self.progressbar.show() - self.ftp = Ftp(self) - self.ftp.remote_dirs = None - self.ftp.start() - - def on_inslall_upgrade_clicked(self, widget): - self.inslall_upgrade_button.set_property('sensitive', False) - dir_list = [] - for i in xrange(len(self.available_plugins_model)): - if self.available_plugins_model[i][4]: - dir_list.append(self.available_plugins_model[i][0]) - - ftp = Ftp(self) - ftp.remote_dirs = dir_list - ftp.start() - - def on_some_ftp_error(self, widget, error_text): - for i in xrange(len(self.available_plugins_model)): - self.available_plugins_model[i][4] = False - self.progressbar.hide() - WarningDialog('Ftp error', error_text, self.window) - - def on_plugin_downloaded(self, widget, plugin_dirs): - for _dir in plugin_dirs: - is_active = False - plugins = None - plugin_dir = os.path.join(gajim.PLUGINS_DIRS[1], _dir) - plugin = gajim.plugin_manager.get_plugin_by_path(plugin_dir) - if plugin: - if plugin.active and plugin.name != self.name: - is_active = True - gobject.idle_add(gajim.plugin_manager.deactivate_plugin, - plugin) - gajim.plugin_manager.plugins.remove(plugin) - - model = self.installed_plugins_model - for row in xrange(len(model)): - if plugin == model[row][0]: - model.remove(model.get_iter((row, 0))) - break - - plugins = self.scan_dir_for_plugin(plugin_dir) - if not plugins: - continue - gajim.plugin_manager.add_plugin(plugins[0]) - plugin = gajim.plugin_manager.plugins[-1] - for row in xrange(len(self.available_plugins_model)): - if plugin.name == self.available_plugins_model[row][1]: - self.available_plugins_model[row][2] = plugin.version - self.available_plugins_model[row][4] = False - continue - if is_active and plugin.name != self.name: - gobject.idle_add(gajim.plugin_manager.activate_plugin, plugin) - if plugin.name != 'Ftp Manager': - self.installed_plugins_model.append([plugin, plugin.name, - is_active]) - dialog = HigDialog(None, gtk.MESSAGE_INFO, gtk.BUTTONS_OK, - '', 'All selected plugins downloaded') - dialog.set_modal(False) - dialog.set_transient_for(self.window) - dialog.popup() - - def available_plugins_treeview_selection_changed(self, treeview_selection): - model, iter = treeview_selection.get_selected() - if iter: - self.plugin_name_label1.set_text(model.get_value(iter, 1)) - self.plugin_authors_label1.set_text(model.get_value(iter, 6)) - self.plugin_homepage_linkbutton1.set_uri(model.get_value(iter, 7)) - self.plugin_homepage_linkbutton1.set_label(model.get_value(iter, 7)) - label = self.plugin_homepage_linkbutton1.get_children()[0] - label.set_ellipsize(pango.ELLIPSIZE_END) - self.plugin_homepage_linkbutton1.set_property('sensitive', True) - desc_textbuffer = self.plugin_description_textview1.get_buffer() - desc_textbuffer.set_text(model.get_value(iter, 5)) - self.plugin_description_textview1.set_property('sensitive', True) - else: - self._clear_available_plugin_info() - - def _clear_available_plugin_info(self): - self.plugin_name_label1.set_text('') - self.plugin_authors_label1.set_text('') - self.plugin_homepage_linkbutton1.set_uri('') - self.plugin_homepage_linkbutton1.set_label('') - self.plugin_homepage_linkbutton1.set_property('sensitive', False) - - desc_textbuffer = self.plugin_description_textview1.get_buffer() - desc_textbuffer.set_text('') - self.plugin_description_textview1.set_property('sensitive', False) - - def scan_dir_for_plugin(self, path): - plugins_found = [] - conf = ConfigParser.ConfigParser() - fields = ('name', 'short_name', 'version', 'description', 'authors', - 'homepage') - if not os.path.isdir(path): - return plugins_found - - dir_list = os.listdir(path) - dir_, mod = os.path.split(path) - sys.path.insert(0, dir_) - - manifest_path = os.path.join(path, 'manifest.ini') - if not os.path.isfile(manifest_path): - return plugins_found - - for elem_name in dir_list: - file_path = os.path.join(path, elem_name) - module = None - - if os.path.isfile(file_path) and fnmatch.fnmatch(file_path, '*.py'): - module_name = os.path.splitext(elem_name)[0] - if module_name == '__init__': - continue - try: - module = __import__('%s.%s' % (mod, module_name)) - except ValueError, value_error: - pass - except ImportError, import_error: - pass - except AttributeError, attribute_error: - pass - if module is None: - continue - - for module_attr_name in [attr_name for attr_name in dir(module) - if not (attr_name.startswith('__') or attr_name.endswith('__'))]: - module_attr = getattr(module, module_attr_name) - try: - if not issubclass(module_attr, GajimPlugin) or \ - module_attr is GajimPlugin: - continue - module_attr.__path__ = os.path.abspath(os.path.dirname( - file_path)) - - # read metadata from manifest.ini - conf.readfp(open(manifest_path, 'r')) - for option in fields: - if conf.get('info', option) is '': - raise ConfigParser.NoOptionError, 'field empty' - setattr(module_attr, option, conf.get('info', option)) - conf.remove_section('info') - plugins_found.append(module_attr) - - except TypeError, type_error: - pass - except ConfigParser.NoOptionError, type_error: - # all fields are required - pass - return plugins_found - - -class Ftp(threading.Thread): - def __init__(self, plugin): - super(Ftp, self).__init__() - self.window = plugin.window - self.server = plugin.config['ftp_server'] - self.progressbar = plugin.progressbar - self.model = plugin.available_plugins_model - self.config = ConfigParser.ConfigParser() - self.buffer_ = io.BytesIO() - self.remote_dirs = None - self.append_to_model = True - - def model_append(self, row): - self.model.append(row) - return False - - def progressbar_pulse(self): - self.progressbar.pulse() - return True - - def get_plugin_version(self, plugin_name): - for plugin in gajim.plugin_manager.plugins: - if plugin.name == plugin_name: - return plugin.version - - def run(self): - try: - gobject.idle_add(self.progressbar.set_text, - 'Connecting to server') - self.ftp = ftplib.FTP(self.server) - self.ftp.login() - self.ftp.cwd('plugins') - if not self.remote_dirs: - self.plugins_dirs = self.ftp.nlst() - progress_step = 1.0 / len(self.plugins_dirs) - gobject.idle_add(self.progressbar.set_text, - 'Scan files on the server') - for dir_ in self.plugins_dirs: - fract = self.progressbar.get_fraction() + progress_step - gobject.idle_add(self.progressbar.set_fraction, fract) - gobject.idle_add(self.progressbar.set_text, - 'Read "%s"' % dir_) - try: - self.ftp.retrbinary('RETR %s/manifest.ini' % dir_, - self.handleDownload) - except Exception, error: - if str(error).startswith('550'): - continue - self.config.readfp(io.BytesIO(self.buffer_.getvalue())) - local_version = self.get_plugin_version( - self.config.get('info', 'name')) - gobject.idle_add(self.model_append, [dir_, - self.config.get('info', 'name'), local_version, - self.config.get('info', 'version'), False, - self.config.get('info', 'description'), - self.config.get('info', 'authors'), - self.config.get('info', 'homepage'), ]) - self.plugins_dirs = None - self.ftp.quit() - gobject.idle_add(self.progressbar.set_fraction, 0) - if self.remote_dirs: - self.download_plugin() - gobject.idle_add(self.progressbar.hide) - except Exception, e: - self.window.emit('error_signal', str(e)) - - def handleDownload(self, block): - self.buffer_.write(block) - - def download_plugin(self): - gobject.idle_add(self.progressbar.show) - self.pulse = gobject.timeout_add(150, self.progressbar_pulse) - gobject.idle_add(self.progressbar.set_text, - 'Create a list of files') - for remote_dir in self.remote_dirs: - - def nlstr(dir_, subdir=None): - if subdir: - dir_ = dir_ + '/' + subdir - list_ = self.ftp.nlst(dir_) - for i in list_: - name = i.split('/')[-1] - if '.' not in name: - try: - if i == self.ftp.nlst(i)[0]: - files.append(i[1:]) - del dirs[i[1:]] - except Exception, e: - # empty dir or file - continue - dirs.append(i[1:]) - subdirs = name - nlstr(dir_, subdirs) - else: - files.append(i[1:]) - dirs, files = [], [] - nlstr('/plugins/' + remote_dir) - - if not os.path.isdir(gajim.PLUGINS_DIRS[1]): - os.mkdir(gajim.PLUGINS_DIRS[1]) - local_dir = ld = os.path.join(gajim.PLUGINS_DIRS[1], remote_dir) - if not os.path.isdir(local_dir): - os.mkdir(local_dir) - local_dir = os.path.split(gajim.PLUGINS_DIRS[1])[0] - - # creating dirs - for dir_ in dirs: - try: - os.mkdir(os.path.join(local_dir, dir_)) - except OSError, e: - if str(e).startswith('[Errno 17]'): - continue - raise - - # downloading files - for filename in files: - gobject.idle_add(self.progressbar.set_text, - 'Downloading "%s"' % filename) - full_filename = os.path.join(local_dir, filename) - try: - self.ftp.retrbinary('RETR /%s' % filename, - open(full_filename, 'wb').write) - #full_filename.close() - except ftplib.error_perm: - print 'ERROR: cannot read file "%s"' % filename - os.unlink(filename) - self.ftp.quit() - self.window.emit('plugin_downloaded', self.remote_dirs) - gobject.source_remove(self.pulse) - - -class FtpManagerPluginConfigDialog(GajimPluginConfigDialog): - def init(self): - self.GTK_BUILDER_FILE_PATH = self.plugin.local_file_path( - 'config_dialog.ui') - self.xml = gtk.Builder() - self.xml.add_objects_from_file(self.GTK_BUILDER_FILE_PATH, - ['hbox111']) - hbox = self.xml.get_object('hbox111') - self.child.pack_start(hbox) - - self.xml.connect_signals(self) - self.connect('hide', self.on_hide) - - def on_run(self): - widget = self.xml.get_object('ftp_server') - widget.set_text(str(self.plugin.config['ftp_server'])) - - def on_hide(self, widget): - widget = self.xml.get_object('ftp_server') - self.plugin.config['ftp_server'] = widget.get_text() diff --git a/plugins/ftp_manager/manifest.ini b/plugins/ftp_manager/manifest.ini deleted file mode 100644 index 2689e51f1..000000000 --- a/plugins/ftp_manager/manifest.ini +++ /dev/null @@ -1,7 +0,0 @@ -[info] -name: Ftp Manager -short_name: ftp_manager -version: 0.3 -description: Install and upgrade plugins from ftp -authors: Denis Fomin -homepage: http://trac-plugins.gajim.org/wiki/ diff --git a/plugins/google_translation/__init__.py b/plugins/google_translation/__init__.py deleted file mode 100644 index dc2c3bc36..000000000 --- a/plugins/google_translation/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from plugin import GoogleTranslationPlugin diff --git a/plugins/google_translation/manifest.ini b/plugins/google_translation/manifest.ini deleted file mode 100644 index 5abbe3d9f..000000000 --- a/plugins/google_translation/manifest.ini +++ /dev/null @@ -1,8 +0,0 @@ -[info] -name: Google Translation -short_name: google_translation -version: 0.1 -description: Translates (currently only incoming) messages using Google Translate. -authors = Mateusz Biliński -homepage = http://blog.bilinski.it - diff --git a/plugins/google_translation/plugin.py b/plugins/google_translation/plugin.py deleted file mode 100644 index 9be29a8ef..000000000 --- a/plugins/google_translation/plugin.py +++ /dev/null @@ -1,118 +0,0 @@ -# -*- coding: utf-8 -*- -## -## This file is part of Gajim. -## -## Gajim 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 is distributed in the hope that it will be useful, -## but WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -## GNU General Public License for more details. -## -## You should have received a copy of the GNU General Public License -## along with Gajim. If not, see . -## -''' -Google Translation plugin. - -Translates (currently only incoming) messages using Google Translate. - -:note: consider this as proof-of-concept -:author: Mateusz Biliński -:since: 25th August 2008 -:copyright: Copyright (2008) Mateusz Biliński -:license: GPL -''' - -import re -import urllib2 -import new -from pprint import pformat -from sys import getfilesystemencoding - -from common import helpers -from common import gajim - -from plugins import GajimPlugin -from plugins.helpers import log_calls, log -from common import ged -from common import nec - -class GoogleTranslationPlugin(GajimPlugin): - - @log_calls('GoogleTranslationPlugin') - def init(self): - self.config_dialog = None - #self.gui_extension_points = {} - self.config_default_values = { - 'from_lang' : - (u'en', _(u'Language of text to be translated')), - 'to_lang' : - (u'fr', _(u'Language to which translation will be made')), - 'user_agent' : - (u'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.12) ' - 'Gecko/20080213 Firefox/2.0.0.11', - _(u'User Agent data to be used with urllib2 ' - 'when connecting to Google Translate service'))} - - #self.events_handlers = {} - - self.events = [GoogleTranslateMessageReceivedEvent] - - self.translated_text_re = re.compile( - r'google.language.callbacks.id100\(\'22\',' - '{"translatedText":"(?P[^"]*)"}, 200, null, 200\)') - - @log_calls('GoogleTranslationPlugin') - def translate_text(self, text, from_lang, to_lang): - # Converts text so it can be used within URL as query to Google - # Translate. - quoted_text = urllib2.quote(text.encode(getfilesystemencoding())) - # prepare url - headers = { 'User-Agent' : self.config['user_agent'] } - translation_url = u'http://www.google.com/uds/Gtranslate?callback='\ - 'google.language.callbacks.id100&context=22&q=%(quoted_text)s&'\ - 'langpair=%(from_lang)s%%7C%(to_lang)s&key=notsupplied&v=1.0' % \ - locals() - request = urllib2.Request(translation_url, headers=headers) - - try: - response = urllib2.urlopen(request) - except urllib2.URLError, e: - # print e - return text - - results = response.read() - translated_text = self.translated_text_re.search(results).group('text') - - if translated_text: - return translated_text - return text - - @log_calls('GoogleTranslationPlugin') - def activate(self): - pass - - @log_calls('GoogleTranslationPlugin') - def deactivate(self): - pass - -class GoogleTranslateMessageReceivedEvent(nec.NetworkIncomingEvent): - name = 'google-translate-message-received' - base_network_events = ['raw-message-received'] - - def generate(self): - msg_type = self.base_event.stanza.attrs.get('type', None) - if msg_type == u'chat': - msg_text = "".join(self.base_event.stanza.kids[0].data) - if msg_text: - from_lang = self.plugin.config['from_lang'] - to_lang = self.plugin.config['to_lang'] - self.base_event.stanza.kids[0].setData( - self.plugin.translate_text(msg_text, from_lang, to_lang)) - - # We only want to modify old event, not emit another, so we return False - # here. - return False diff --git a/plugins/length_notifier/__init__.py b/plugins/length_notifier/__init__.py deleted file mode 100644 index 67c8c614a..000000000 --- a/plugins/length_notifier/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ - -from length_notifier import LengthNotifierPlugin diff --git a/plugins/length_notifier/config_dialog.ui b/plugins/length_notifier/config_dialog.ui deleted file mode 100644 index f06bfe115..000000000 --- a/plugins/length_notifier/config_dialog.ui +++ /dev/null @@ -1,152 +0,0 @@ - - - - - - - - True - 9 - 3 - 2 - 7 - 5 - - - True - Message length at which notification is invoked. - 0 - Message length: - - - GTK_FILL - GTK_FILL - - - - - True - Background color of text entry field in chat window when notification is invoked. - 0 - Notification color: - - - 1 - 2 - GTK_FILL - GTK_FILL - - - - - True - JabberIDs that plugin should be used with (eg. restrict only to one microblogging bot). Use comma (without space) as separator. If empty plugin is used with every JID. - 0 - JabberIDs to include: - - - 2 - 3 - GTK_FILL - GTK_FILL - - - - - True - True - JabberIDs that plugin should be used with (eg. restrict only to one microblogging bot). Use comma (without space) as separator. If empty plugin is used with every JID. - - - - - 1 - 2 - 2 - 3 - GTK_FILL - - - - - True - - - True - True - True - Background color of text entry field in chat window when notification is invoked. - 0 - Pick a color for notification - #000000000000 - - - - False - False - 0 - - - - - True - - - - - - 1 - - - - - 1 - 2 - 1 - 2 - GTK_FILL - - - - - - True - - - True - True - Message length at which notification is invoked. - 6 - True - True - - - - False - False - 0 - - - - - True - - - - - - 1 - - - - - 1 - 2 - GTK_FILL - GTK_FILL - - - - - - diff --git a/plugins/length_notifier/length_notifier.py b/plugins/length_notifier/length_notifier.py deleted file mode 100644 index 5a05c91c6..000000000 --- a/plugins/length_notifier/length_notifier.py +++ /dev/null @@ -1,155 +0,0 @@ -# -*- coding: utf-8 -*- - -## This file is part of Gajim. -## -## Gajim 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 is distributed in the hope that it will be useful, -## but WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -## GNU General Public License for more details. -## -## You should have received a copy of the GNU General Public License -## along with Gajim. If not, see . -## - -''' -Message length notifier plugin. - -:author: Mateusz Biliński -:since: 1st June 2008 -:copyright: Copyright (2008) Mateusz Biliński -:license: GPL -''' - -import sys - -import gtk -from common import i18n - -from plugins import GajimPlugin -from plugins.helpers import log, log_calls -from plugins.gui import GajimPluginConfigDialog - -class LengthNotifierPlugin(GajimPlugin): - - @log_calls('LengthNotifierPlugin') - def init(self): - self.config_dialog = LengthNotifierPluginConfigDialog(self) - - self.gui_extension_points = { - 'chat_control' : (self.connect_with_chat_control, - self.disconnect_from_chat_control) - } - - self.config_default_values = {'MESSAGE_WARNING_LENGTH' : (140, _('Message length at which notification is invoked.')), - 'WARNING_COLOR' : ('#F0DB3E', _('Background color of text entry field in chat window when notification is invoked.')), - 'JIDS' : ([], _('JabberIDs that plugin should be used with (eg. restrict only to one microblogging bot). If empty plugin is used with every JID. [not implemented]')) - } - - @log_calls('LengthNotifierPlugin') - def textview_length_warning(self, tb, chat_control): - tv = chat_control.msg_textview - d = chat_control.length_notifier_plugin_data - t = tb.get_text(tb.get_start_iter(), tb.get_end_iter()) - if t: - len_t = len(t) - #print("len_t: %d"%(len_t)) - if len_t>self.config['MESSAGE_WARNING_LENGTH']: - if not d['prev_color']: - d['prev_color'] = tv.style.copy().base[gtk.STATE_NORMAL] - tv.modify_base(gtk.STATE_NORMAL, gtk.gdk.color_parse(self.config['WARNING_COLOR'])) - elif d['prev_color']: - tv.modify_base(gtk.STATE_NORMAL, d['prev_color']) - d['prev_color'] = None - - @log_calls('LengthNotifierPlugin') - def connect_with_chat_control(self, chat_control): - jid = chat_control.contact.jid - if self.jid_is_ok(jid): - d = {'prev_color' : None} - tv = chat_control.msg_textview - tb = tv.get_buffer() - h_id = tb.connect('changed', self.textview_length_warning, chat_control) - d['h_id'] = h_id - - t = tb.get_text(tb.get_start_iter(), tb.get_end_iter()) - if t: - len_t = len(t) - if len_t>self.config['MESSAGE_WARNING_LENGTH']: - d['prev_color'] = tv.style.copy().base[gtk.STATE_NORMAL] - tv.modify_base(gtk.STATE_NORMAL, gtk.gdk.color_parse(self.config['WARNING_COLOR'])) - - chat_control.length_notifier_plugin_data = d - - return True - - return False - - @log_calls('LengthNotifierPlugin') - def disconnect_from_chat_control(self, chat_control): - try: - d = chat_control.length_notifier_plugin_data - tv = chat_control.msg_textview - tv.get_buffer().disconnect(d['h_id']) - if d['prev_color']: - tv.modify_base(gtk.STATE_NORMAL, d['prev_color']) - except AttributeError, error: - pass - #log.debug('Length Notifier Plugin was (probably) never connected with this chat window.\n Error: %s' % (error)) - - @log_calls('LengthNotifierPlugin') - def jid_is_ok(self, jid): - if jid in self.config['JIDS'] or not self.config['JIDS']: - return True - - return False - -class LengthNotifierPluginConfigDialog(GajimPluginConfigDialog): - def init(self): - self.GTK_BUILDER_FILE_PATH = self.plugin.local_file_path( - 'config_dialog.ui') - self.xml = gtk.Builder() - self.xml.set_translation_domain(i18n.APP) - self.xml.add_objects_from_file(self.GTK_BUILDER_FILE_PATH, - ['length_notifier_config_table']) - self.config_table = self.xml.get_object('length_notifier_config_table') - self.child.pack_start(self.config_table) - - self.message_length_spinbutton = self.xml.get_object( - 'message_length_spinbutton') - self.message_length_spinbutton.get_adjustment().set_all(140, 0, 500, 1, - 10, 0) - self.notification_colorbutton = self.xml.get_object( - 'notification_colorbutton') - self.jids_entry = self.xml.get_object('jids_entry') - - self.xml.connect_signals(self) - - def on_run(self): - self.message_length_spinbutton.set_value(self.plugin.config['MESSAGE_WARNING_LENGTH']) - self.notification_colorbutton.set_color(gtk.gdk.color_parse(self.plugin.config['WARNING_COLOR'])) - #self.jids_entry.set_text(self.plugin.config['JIDS']) - self.jids_entry.set_text(','.join(self.plugin.config['JIDS'])) - - @log_calls('LengthNotifierPluginConfigDialog') - def on_message_length_spinbutton_value_changed(self, spinbutton): - self.plugin.config['MESSAGE_WARNING_LENGTH'] = spinbutton.get_value() - - @log_calls('LengthNotifierPluginConfigDialog') - def on_notification_colorbutton_color_set(self, colorbutton): - self.plugin.config['WARNING_COLOR'] = colorbutton.get_color().to_string() - - @log_calls('LengthNotifierPluginConfigDialog') - def on_jids_entry_changed(self, entry): - text = entry.get_text() - if len(text)>0: - self.plugin.config['JIDS'] = entry.get_text().split(',') - else: - self.plugin.config['JIDS'] = [] - - @log_calls('LengthNotifierPluginConfigDialog') - def on_jids_entry_editing_done(self, entry): - pass diff --git a/plugins/length_notifier/manifest.ini b/plugins/length_notifier/manifest.ini deleted file mode 100644 index d50feaa8d..000000000 --- a/plugins/length_notifier/manifest.ini +++ /dev/null @@ -1,9 +0,0 @@ -[info] -name: Message Length Notifier -short_name: length_notifier -version: 0.1 -description: Highlights message entry field in chat window when given length of message is exceeded. -authors = Mateusz Biliński -homepage = http://blog.bilinski.it - - diff --git a/plugins/new_events_example/plugin.py b/plugins/new_events_example/plugin.py index d113bd54d..f66c0dda2 100644 --- a/plugins/new_events_example/plugin.py +++ b/plugins/new_events_example/plugin.py @@ -41,6 +41,8 @@ class NewEventsExamplePlugin(GajimPlugin): @log_calls('NewEventsExamplePlugin') def init(self): + self.description = _('Shows how to generate new network events based ' + 'on existing one using Network Events Controller.') self.config_dialog = None #self.gui_extension_points = {} #self.config_default_values = {} diff --git a/plugins/roster_buttons/plugin.py b/plugins/roster_buttons/plugin.py index 398804407..026658b5e 100644 --- a/plugins/roster_buttons/plugin.py +++ b/plugins/roster_buttons/plugin.py @@ -27,7 +27,6 @@ Roster buttons plug-in. import sys import gtk -from common import i18n from common import gajim from plugins import GajimPlugin @@ -37,6 +36,7 @@ class RosterButtonsPlugin(GajimPlugin): @log_calls('RosterButtonsPlugin') def init(self): + self.description = _('Adds quick action buttons to roster window.') self.GTK_BUILDER_FILE_PATH = self.local_file_path('roster_buttons.ui') self.roster_vbox = gajim.interface.roster.xml.get_object('roster_vbox2') self.show_offline_contacts_menuitem = gajim.interface.roster.xml.get_object('show_offline_contacts_menuitem') @@ -46,7 +46,7 @@ class RosterButtonsPlugin(GajimPlugin): @log_calls('RosterButtonsPlugin') def activate(self): self.xml = gtk.Builder() - self.xml.set_translation_domain(i18n.APP) + self.xml.set_translation_domain('gajim_plugins') self.xml.add_objects_from_file(self.GTK_BUILDER_FILE_PATH, ['roster_buttons_buttonbox']) self.buttonbox = self.xml.get_object('roster_buttons_buttonbox') diff --git a/plugins/roster_buttons/roster_buttons.ui b/plugins/roster_buttons/roster_buttons.ui index b91b0d2a6..3ed25235b 100644 --- a/plugins/roster_buttons/roster_buttons.ui +++ b/plugins/roster_buttons/roster_buttons.ui @@ -10,7 +10,7 @@ spread - 1 + 1 True True True @@ -24,7 +24,7 @@ - 2 + 2 True True True @@ -38,7 +38,7 @@ - 3 + 3 True True True @@ -52,7 +52,7 @@ - 4 + 4 True True True diff --git a/plugins/snarl_notifications/plugin.py b/plugins/snarl_notifications/plugin.py index 7dfe24d26..82247c5e6 100644 --- a/plugins/snarl_notifications/plugin.py +++ b/plugins/snarl_notifications/plugin.py @@ -41,6 +41,10 @@ class SnarlNotificationsPlugin(GajimPlugin): @log_calls('SnarlNotificationsPlugin') def init(self): + self.description = _('Shows events notification using Snarl ' + '(http://www.fullphat.net/) under Windows. ' + 'Snarl needs to be installed in system.\n' + 'PySnarl bindings are used (http://code.google.com/p/pysnarl/).') self.config_dialog = None #self.gui_extension_points = {} #self.config_default_values = {} diff --git a/plugins/triggers/__init__.py b/plugins/triggers/__init__.py deleted file mode 100644 index 4f8d9f87b..000000000 --- a/plugins/triggers/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from triggers import Triggers diff --git a/plugins/triggers/config_dialog.ui b/plugins/triggers/config_dialog.ui deleted file mode 100644 index 68a53be20..000000000 --- a/plugins/triggers/config_dialog.ui +++ /dev/null @@ -1,900 +0,0 @@ - - - - - - - - - - - - contact(s) - - - group(s) - - - everybody - - - - - - - - - - - Receive a Message - - - - - 6 - Advanced Notifications Control - Advanced Notifications Control - False - True - - - True - 12 - vertical - 12 - - - True - vertical - 5 - - - 90 - True - True - never - automatic - in - - - True - True - - - - - - False - False - 0 - - - - - True - 1 - 212 - - - True - - - True - 10 - - - gtk-new - True - True - True - False - True - - - - False - False - 0 - - - - - gtk-go-up - True - True - True - False - True - - - - False - False - 1 - - - - - gtk-go-down - True - True - True - False - True - - - - False - False - 2 - - - - - gtk-delete - True - True - True - False - True - - - - False - False - 3 - - - - - False - 0 - - - - - - - False - False - 1 - - - - - 0 - - - - - True - vertical - 5 - - - True - <b>Conditions</b> - True - - - False - False - 0 - - - - - True - vertical - 5 - - - True - 5 - - - True - When - True - - - False - False - 0 - - - - - True - liststore2 - - - - - 0 - - - - - False - False - 1 - - - - - 0 - - - - - True - 5 - - - True - for - True - - - False - False - 0 - - - - - True - liststore1 - - - - - 0 - - - - - False - 1 - - - - - True - True - True - - - - 2 - - - - - 1 - - - - - True - - - True - when I'm in - True - - - False - False - 0 - - - - - True - 3 - - - All statuses - True - True - False - True - True - - - - False - False - 0 - - - - - One or more special statuses... - True - True - False - True - True - all_status_rb - - - False - False - 1 - - - - - Online / Free For Chat - True - True - False - True - True - True - - - - False - False - 2 - - - - - Away - True - True - False - True - True - True - - - - False - False - 3 - - - - - Not Available - True - True - False - True - True - True - - - - False - False - 4 - - - - - Busy - True - True - False - True - True - True - - - - False - False - 5 - - - - - Invisible - True - True - False - True - True - True - - - - False - False - 6 - - - - - 1 - - - - - 2 - - - - - True - - - True - and I - True - - - False - False - 0 - - - - - Have - True - True - False - True - True - - - - False - False - 1 - - - - - Don't have - True - True - False - True - True - - - - False - False - 2 - - - - - True - a window/tab opened with that contact - True - - - False - False - 3 - - - - - 3 - - - - - 1 - - - - - True - <b>Actions</b> - True - - - False - False - 2 - - - - - True - 0 - none - - - True - 6 - - - _Inform me with a popup window - True - True - False - True - True - - - - False - False - 0 - - - - - _Disable existing popup window - True - True - False - True - True - - - - False - False - 1 - - - - - - - True - 0 - none - - - True - 6 - 12 - - - True - vertical - 6 - - - True - 6 - True - - - Play a sound - True - True - False - True - True - - - - 0 - - - - - True - False - 6 - - - True - True - - - - 0 - - - - - ... - True - True - False - True - - - - False - False - 1 - - - - - True - True - False - - - - True - gtk-media-play - - - - - False - False - 2 - - - - - 1 - - - - - False - False - 0 - - - - - _Disable existing sound for this event - True - True - False - True - True - - - - False - False - 1 - - - - - - - - - True - <b>Sounds</b> - True - - - - - - - 3 - - - - - True - 6 - - - _Open chat window with user - True - True - False - True - True - - - - False - False - 0 - - - - - _Disable auto opening chat window - True - True - False - True - True - - - - False - False - 1 - - - - - 4 - - - - - True - True - True - - - True - vertical - 5 - - - True - 6 - - - Launch a command - True - True - False - True - True - - - - False - 0 - - - - - True - False - True - - - - 1 - - - - - False - False - 0 - - - - - True - 6 - - - _Show event in notification area - True - True - False - True - True - - - - False - False - 0 - - - - - _Disable showing event in notification area - True - True - False - True - True - - - - False - False - 1 - - - - - 1 - - - - - True - 6 - - - _Show event in roster - True - True - False - True - True - - - - False - False - 0 - - - - - _Disable showing event in roster - True - True - False - True - True - - - - False - False - 1 - - - - - 2 - - - - - _Activate window manager's UrgencyHint to make chat window in taskbar flash - True - False - True - True - True - - - - False - False - 3 - - - - - _Deactivate window manager's UrgencyHint - True - False - True - True - True - - - - False - False - 4 - - - - - - - True - Advanced Actions - - - - - 5 - - - - - 1 - - - - - - diff --git a/plugins/triggers/manifest.ini b/plugins/triggers/manifest.ini deleted file mode 100644 index 79e85f38c..000000000 --- a/plugins/triggers/manifest.ini +++ /dev/null @@ -1,7 +0,0 @@ -[info] -name: Triggers -short_name: triggers -version: 0.0.1 -description: Configure Gajim's behaviour for each contact -authors: Yann Leboulanger -homepage: http://trac.gajim.org/wiki/ diff --git a/plugins/triggers/triggers.py b/plugins/triggers/triggers.py deleted file mode 100644 index 5c968516e..000000000 --- a/plugins/triggers/triggers.py +++ /dev/null @@ -1,637 +0,0 @@ -# -*- coding: utf-8 -*- -# -## plugins/triggers/triggers.py -## -## Copyright (C) 2011 Yann Leboulanger -## -## This file is part of Gajim. -## -## Gajim 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 is distributed in the hope that it will be useful, -## but WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -## GNU General Public License for more details. -## -## You should have received a copy of the GNU General Public License -## along with Gajim. If not, see . -## - -import gtk -import sys - -from common import gajim -from plugins import GajimPlugin -from plugins.helpers import log_calls, log -from plugins.gui import GajimPluginConfigDialog -from common import i18n -from common import ged -from common import helpers - - -class Triggers(GajimPlugin): - - @log_calls('TriggersPlugin') - def init(self): - self.config_dialog = TriggersPluginConfigDialog(self) - self.config_default_values = {} - - self.events_handlers = {'notification' : (ged.PREGUI, self._nec_notif), - 'decrypted-message-received': (ged.PREGUI2, - self._nec_decrypted_message_received)} - - def _check_rule_recipients(self, obj, rule): - rule_recipients = [t.strip() for t in rule['recipients'].split(',')] - if rule['recipient_type'] == 'contact' and obj.jid not in \ - rule_recipients: - return False - contact_groups = gajim.contacts.get_first_contact_from_jid( - obj.conn.name, obj.jid).groups - group_found = False - for group in contact_groups: - if group in rule_recipients: - group_found = True - break - if rule['recipient_type'] == 'group' and not group_found: - return False - - return True - - def _check_rule_status(self, obj, rule): - rule_statuses = rule['status'].split() - our_status = gajim.SHOW_LIST[obj.conn.connected] - if rule['status'] != 'all' and our_status not in rule_statuses: - return False - - return True - - def _check_rule_tab_opened(self, obj, rule): - if rule['tab_opened'] == 'both': - return True - tab_opened = False - if gajim.interface.msg_win_mgr.get_control(obj.jid, obj.conn.name): - tab_opened = True - if tab_opened and rule['tab_opened'] == 'no': - return False - elif not tab_opened and rule['tab_opened'] == 'yes': - return False - - return True - - def check_rule_apply_notif(self, obj, rule): - # Check notification type - notif_type = '' - if obj.notif_type == 'msg': - notif_type = 'message_received' - if notif_type != rule['event']: - return False - - # notification type is ok. Now check recipient - if not self._check_rule_recipients(obj, rule): - return False - - # recipient is ok. Now check our status - if not self._check_rule_status(obj, rule): - return False - - # our_status is ok. Now check opened chat window - if not self._check_rule_tab_opened(obj, rule): - return False - - # All is ok - return True - - def check_rule_apply_decrypted_msg(self, obj, rule): - # Check notification type - if rule['event'] != 'message_received': - return False - - # notification type is ok. Now check recipient - if not self._check_rule_recipients(obj, rule): - return False - - # recipient is ok. Now check our status - if not self._check_rule_status(obj, rule): - return False - - # our_status is ok. Now check opened chat window - if not self._check_rule_tab_opened(obj, rule): - return False - - # All is ok - return True - - def apply_rule(self, obj, rule): - if rule['sound'] == 'no': - obj.do_sound = False - elif rule['sound'] == 'yes': - obj.do_sound = True - obj.sound_event = '' - obj.sound_file = rule['sound_file'] - - if rule['popup'] == 'no': - obj.do_popup = False - elif rule['popup'] == 'yes': - obj.do_popup = True - - if rule['run_command']: - obj.do_command = True - obj.command = rule['command'] - else: - obj.do_command = False - - if rule['systray'] == 'no': - obj.show_in_notification_area = False - elif rule['systray'] == 'yes': - obj.show_in_notification_area = True - - if rule['roster'] == 'no': - obj.show_in_roster = False - elif rule['roster'] == 'yes': - obj.show_in_roster = True - -# if rule['urgency_hint'] == 'no': -# ?? not in obj actions -# elif rule['urgency_hint'] == 'yes': - - def _nec_notif(self, obj): - # check rules in order - rules_num = [int(i) for i in self.config.keys()] - rules_num.sort() - for num in rules_num: - if self.check_rule_apply_notif(obj, self.config[str(num)]): - self.apply_rule(obj, self.config[str(num)]) - # Should we stop after first valid rule ? - # break - - def _nec_decrypted_message_received(self, obj): - rules_num = [int(i) for i in self.config.keys()] - rules_num.sort() - for num in rules_num: - rule = self.config[str(num)] - if self.check_rule_apply_decrypted_msg(obj, rule): - if rule['auto_open'] == 'no': - obj.popup = False - elif rule['auto_open'] == 'yes': - obj.popup = True - - -class TriggersPluginConfigDialog(GajimPluginConfigDialog): - events_list = ['message_received']#, 'contact_connected', - #'contact_disconnected', 'contact_change_status', 'gc_msg_highlight', - #'gc_msg'] - recipient_types_list = ['contact', 'group', 'all'] - config_options = ['event', 'recipient_type', 'recipients', 'status', - 'tab_opened', 'sound', 'sound_file', 'popup', 'auto_open', - 'run_command', 'command', 'systray', 'roster', 'urgency_hint'] - - def init(self): - self.GTK_BUILDER_FILE_PATH = self.plugin.local_file_path( - 'config_dialog.ui') - self.xml = gtk.Builder() - self.xml.add_objects_from_file(self.GTK_BUILDER_FILE_PATH, - ['vbox', 'liststore1', 'liststore2']) - vbox = self.xml.get_object('vbox') - self.child.pack_start(vbox) - - self.xml.connect_signals(self) - self.connect('hide', self.on_hide) - - def on_run(self): - # fill window - for w in ('conditions_treeview', 'config_vbox', 'event_combobox', - 'recipient_type_combobox', 'recipient_list_entry', 'delete_button', - 'status_hbox', 'use_sound_cb', 'disable_sound_cb', 'use_popup_cb', - 'disable_popup_cb', 'use_auto_open_cb', 'disable_auto_open_cb', - 'use_systray_cb', 'disable_systray_cb', 'use_roster_cb', - 'disable_roster_cb', 'tab_opened_cb', 'not_tab_opened_cb', - 'sound_entry', 'sound_file_hbox', 'up_button', 'down_button', - 'run_command_cb', 'command_entry', 'use_urgency_hint_cb', - 'disable_urgency_hint_cb'): - self.__dict__[w] = self.xml.get_object(w) - - self.config = {} - for n in self.plugin.config: - self.config[int(n)] = self.plugin.config[n] - - # Contains status checkboxes - childs = self.status_hbox.get_children() - - self.all_status_rb = childs[0] - self.special_status_rb = childs[1] - self.online_cb = childs[2] - self.away_cb = childs[3] - self.xa_cb = childs[4] - self.dnd_cb = childs[5] - self.invisible_cb = childs[6] - - if not self.conditions_treeview.get_column(0): - # window never opened - model = gtk.ListStore(int, str) - model.set_sort_column_id(0, gtk.SORT_ASCENDING) - self.conditions_treeview.set_model(model) - - # means number - col = gtk.TreeViewColumn(_('#')) - self.conditions_treeview.append_column(col) - renderer = gtk.CellRendererText() - col.pack_start(renderer, expand=False) - col.set_attributes(renderer, text=0) - - col = gtk.TreeViewColumn(_('Condition')) - self.conditions_treeview.append_column(col) - renderer = gtk.CellRendererText() - col.pack_start(renderer, expand=True) - col.set_attributes(renderer, text=1) - else: - model = self.conditions_treeview.get_model() - - model.clear() - - # Fill conditions_treeview - num = 0 - while num in self.config: - iter_ = model.append((num, '')) - path = model.get_path(iter_) - self.conditions_treeview.set_cursor(path) - self.active_num = num - self.initiate_rule_state() - self.set_treeview_string() - num += 1 - - # No rule selected at init time - self.conditions_treeview.get_selection().unselect_all() - self.active_num = -1 - self.config_vbox.set_sensitive(False) - self.delete_button.set_sensitive(False) - self.down_button.set_sensitive(False) - self.up_button.set_sensitive(False) - - def initiate_rule_state(self): - """ - Set values for all widgets - """ - if self.active_num < 0: - return - # event - value = self.config[self.active_num]['event'] - if value: - self.event_combobox.set_active(self.events_list.index(value)) - else: - self.event_combobox.set_active(-1) - # recipient_type - value = self.config[self.active_num]['recipient_type'] - if value: - self.recipient_type_combobox.set_active( - self.recipient_types_list.index(value)) - else: - self.recipient_type_combobox.set_active(-1) - # recipient - value = self.config[self.active_num]['recipients'] - if not value: - value = '' - self.recipient_list_entry.set_text(value) - # status - value = self.config[self.active_num]['status'] - if value == 'all': - self.all_status_rb.set_active(True) - else: - self.special_status_rb.set_active(True) - values = value.split() - for v in ('online', 'away', 'xa', 'dnd', 'invisible'): - if v in values: - self.__dict__[v + '_cb'].set_active(True) - else: - self.__dict__[v + '_cb'].set_active(False) - self.on_status_radiobutton_toggled(self.all_status_rb) - - # tab_opened - value = self.config[self.active_num]['tab_opened'] - self.tab_opened_cb.set_active(True) - self.not_tab_opened_cb.set_active(True) - if value == 'no': - self.tab_opened_cb.set_active(False) - elif value == 'yes': - self.not_tab_opened_cb.set_active(False) - - # sound_file - value = self.config[self.active_num]['sound_file'] - self.sound_entry.set_text(value) - - # sound, popup, auto_open, systray, roster - for option in ('sound', 'popup', 'auto_open', 'systray', 'roster', - 'urgency_hint'): - value = self.config[self.active_num][option] - if value == 'yes': - self.__dict__['use_' + option + '_cb'].set_active(True) - else: - self.__dict__['use_' + option + '_cb'].set_active(False) - if value == 'no': - self.__dict__['disable_' + option + '_cb'].set_active(True) - else: - self.__dict__['disable_' + option + '_cb'].set_active(False) - - # run_command - value = self.config[self.active_num]['run_command'] - self.run_command_cb.set_active(value) - - # command - value = self.config[self.active_num]['command'] - self.command_entry.set_text(value) - - def set_treeview_string(self): - (model, iter_) = self.conditions_treeview.get_selection().get_selected() - if not iter_: - return - event = self.event_combobox.get_active_text() - recipient_type = self.recipient_type_combobox.get_active_text() - recipient = '' - if recipient_type != 'everybody': - recipient = self.recipient_list_entry.get_text() - if self.all_status_rb.get_active(): - status = '' - else: - status = _('when I am ') - for st in ('online', 'away', 'xa', 'dnd', 'invisible'): - if self.__dict__[st + '_cb'].get_active(): - status += helpers.get_uf_show(st) + ' ' - model[iter_][1] = "When %s for %s %s %s" % (event, recipient_type, - recipient, status) - - def on_conditions_treeview_cursor_changed(self, widget): - (model, iter_) = widget.get_selection().get_selected() - if not iter_: - self.active_num = '' - return - self.active_num = model[iter_][0] - if self.active_num == '0': - self.up_button.set_sensitive(False) - else: - self.up_button.set_sensitive(True) - max = self.conditions_treeview.get_model().iter_n_children(None) - if self.active_num == max - 1: - self.down_button.set_sensitive(False) - else: - self.down_button.set_sensitive(True) - self.initiate_rule_state() - self.config_vbox.set_sensitive(True) - self.delete_button.set_sensitive(True) - - def on_new_button_clicked(self, widget): - model = self.conditions_treeview.get_model() - num = self.conditions_treeview.get_model().iter_n_children(None) - self.config[num] = {'event': '', 'recipient_type': 'all', - 'recipients': '', 'status': 'all', 'tab_opened': 'both', - 'sound': '', 'sound_file': '', 'popup': '', 'auto_open': '', - 'run_command': False, 'command': '', 'systray': '', 'roster': '', - 'urgency_hint': False} - iter_ = model.append((num, '')) - path = model.get_path(iter_) - self.conditions_treeview.set_cursor(path) - self.active_num = num - self.set_treeview_string() - self.config_vbox.set_sensitive(True) - - def on_delete_button_clicked(self, widget): - (model, iter_) = self.conditions_treeview.get_selection().get_selected() - if not iter_: - return - # up all others - iter2 = model.iter_next(iter_) - num = self.active_num - while iter2: - num = model[iter2][0] - model[iter2][0] = num - 1 - self.config[num-1] = self.config[num].copy() - iter2 = model.iter_next(iter2) - model.remove(iter_) - del self.config[num] - self.active_num = '' - self.config_vbox.set_sensitive(False) - self.delete_button.set_sensitive(False) - self.up_button.set_sensitive(False) - self.down_button.set_sensitive(False) - - def on_up_button_clicked(self, widget): - (model, iter_) = self.conditions_treeview.get_selection().get_selected() - if not iter_: - return - conf = self.config[self.active_num].copy() - self.config[self.active_num] = self.config[self.active_num - 1] - self.config[self.active_num - 1] = conf - - model[iter_][0] =self.active_num - 1 - # get previous iter - path = model.get_path(iter_) - iter_ = model.get_iter((path[0] - 1,)) - model[iter_][0] = self.active_num - self.on_conditions_treeview_cursor_changed(self.conditions_treeview) - - def on_down_button_clicked(self, widget): - (model, iter_) = self.conditions_treeview.get_selection().get_selected() - if not iter_: - return - conf = self.config[self.active_num].copy() - self.config[self.active_num] = self.config[self.active_num + 1] - self.config[self.active_num + 1] = conf - - model[iter_][0] = self.active_num + 1 - iter_ = model.iter_next(iter_) - model[iter_][0] = self.active_num - self.on_conditions_treeview_cursor_changed(self.conditions_treeview) - - def on_event_combobox_changed(self, widget): - if self.active_num < 0: - return - active = self.event_combobox.get_active() - if active == -1: - event = '' - else: - event = self.events_list[active] - self.config[self.active_num]['event'] = event - self.set_treeview_string() - - def on_recipient_type_combobox_changed(self, widget): - if self.active_num < 0: - return - recipient_type = self.recipient_types_list[ - self.recipient_type_combobox.get_active()] - self.config[self.active_num]['recipient_type'] = recipient_type - if recipient_type == 'all': - self.recipient_list_entry.hide() - else: - self.recipient_list_entry.show() - self.set_treeview_string() - - def on_recipient_list_entry_changed(self, widget): - if self.active_num < 0: - return - recipients = widget.get_text().decode('utf-8') - #TODO: do some check - self.config[self.active_num]['recipients'] = recipients - self.set_treeview_string() - - def set_status_config(self): - if self.active_num < 0: - return - status = '' - for st in ('online', 'away', 'xa', 'dnd', 'invisible'): - if self.__dict__[st + '_cb'].get_active(): - status += st + ' ' - if status: - status = status[:-1] - self.config[self.active_num]['status'] = status - self.set_treeview_string() - - def on_status_radiobutton_toggled(self, widget): - if self.active_num < 0: - return - if self.all_status_rb.get_active(): - self.config[self.active_num]['status'] = 'all' - # 'All status' clicked - for st in ('online', 'away', 'xa', 'dnd', 'invisible'): - self.__dict__[st + '_cb'].hide() - - self.special_status_rb.show() - else: - self.set_status_config() - # 'special status' clicked - for st in ('online', 'away', 'xa', 'dnd', 'invisible'): - self.__dict__[st + '_cb'].show() - - self.special_status_rb.hide() - self.set_treeview_string() - - def on_status_cb_toggled(self, widget): - if self.active_num < 0: - return - self.set_status_config() - - # tab_opened OR (not xor) not_tab_opened must be active - def on_tab_opened_cb_toggled(self, widget): - if self.active_num < 0: - return - if self.tab_opened_cb.get_active(): - if self.not_tab_opened_cb.get_active(): - self.config[self.active_num]['tab_opened'] = 'both' - else: - self.config[self.active_num]['tab_opened'] = 'yes' - else: - self.not_tab_opened_cb.set_active(True) - self.config[self.active_num]['tab_opened'] = 'no' - - def on_not_tab_opened_cb_toggled(self, widget): - if self.active_num < 0: - return - if self.not_tab_opened_cb.get_active(): - if self.tab_opened_cb.get_active(): - self.config[self.active_num]['tab_opened'] = 'both' - else: - self.config[self.active_num]['tab_opened'] = 'no' - else: - self.tab_opened_cb.set_active(True) - self.config[self.active_num]['tab_opened'] = 'yes' - - def on_use_it_toggled(self, widget, oposite_widget, option): - if widget.get_active(): - if oposite_widget.get_active(): - oposite_widget.set_active(False) - self.config[self.active_num][option] = 'yes' - elif oposite_widget.get_active(): - self.config[self.active_num][option] = 'no' - else: - self.config[self.active_num][option] = '' - - def on_disable_it_toggled(self, widget, oposite_widget, option): - if widget.get_active(): - if oposite_widget.get_active(): - oposite_widget.set_active(False) - self.config[self.active_num][option] = 'no' - elif oposite_widget.get_active(): - self.config[self.active_num][option] = 'yes' - else: - self.config[self.active_num][option] = '' - - def on_use_sound_cb_toggled(self, widget): - self.on_use_it_toggled(widget, self.disable_sound_cb, 'sound') - if widget.get_active(): - self.sound_file_hbox.set_sensitive(True) - else: - self.sound_file_hbox.set_sensitive(False) - - def on_browse_for_sounds_button_clicked(self, widget, data=None): - if self.active_num < 0: - return - - def on_ok(widget, path_to_snd_file): - dialog.destroy() - if not path_to_snd_file: - path_to_snd_file = '' - self.config[self.active_num]['sound_file'] = path_to_snd_file - self.sound_entry.set_text(path_to_snd_file) - - path_to_snd_file = self.sound_entry.get_text().decode('utf-8') - path_to_snd_file = os.path.join(os.getcwd(), path_to_snd_file) - dialog = SoundChooserDialog(path_to_snd_file, on_ok) - - def on_play_button_clicked(self, widget): - helpers.play_sound_file(self.sound_entry.get_text().decode('utf-8')) - - def on_disable_sound_cb_toggled(self, widget): - self.on_disable_it_toggled(widget, self.use_sound_cb, 'sound') - - def on_sound_entry_changed(self, widget): - self.config[self.active_num]['sound_file'] = widget.get_text().\ - decode('utf-8') - - def on_use_popup_cb_toggled(self, widget): - self.on_use_it_toggled(widget, self.disable_popup_cb, 'popup') - - def on_disable_popup_cb_toggled(self, widget): - self.on_disable_it_toggled(widget, self.use_popup_cb, 'popup') - - def on_use_auto_open_cb_toggled(self, widget): - self.on_use_it_toggled(widget, self.disable_auto_open_cb, 'auto_open') - - def on_disable_auto_open_cb_toggled(self, widget): - self.on_disable_it_toggled(widget, self.use_auto_open_cb, 'auto_open') - - def on_run_command_cb_toggled(self, widget): - self.config[self.active_num]['run_command'] = widget.get_active() - if widget.get_active(): - self.command_entry.set_sensitive(True) - else: - self.command_entry.set_sensitive(False) - - def on_command_entry_changed(self, widget): - self.config[self.active_num]['command'] = widget.get_text().\ - decode('utf-8') - - def on_use_systray_cb_toggled(self, widget): - self.on_use_it_toggled(widget, self.disable_systray_cb, 'systray') - - def on_disable_systray_cb_toggled(self, widget): - self.on_disable_it_toggled(widget, self.use_systray_cb, 'systray') - - def on_use_roster_cb_toggled(self, widget): - self.on_use_it_toggled(widget, self.disable_roster_cb, 'roster') - - def on_disable_roster_cb_toggled(self, widget): - self.on_disable_it_toggled(widget, self.use_roster_cb, 'roster') - - def on_use_urgency_hint_cb_toggled(self, widget): - self.on_use_it_toggled(widget, self.disable_urgency_hint_cb, - 'uregency_hint') - - def on_disable_urgency_hint_cb_toggled(self, widget): - self.on_disable_it_toggled(widget, self.use_urgency_hint_cb, - 'uregency_hint') - - def on_hide(self, widget): - # save config - for n in self.plugin.config: - del self.plugin.config[n] - for n in self.config: - self.plugin.config[str(n)] = self.config[n] diff --git a/plugins/whiteboard/__init__.py b/plugins/whiteboard/__init__.py deleted file mode 100644 index 802d00cdf..000000000 --- a/plugins/whiteboard/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from plugin import WhiteboardPlugin diff --git a/plugins/whiteboard/brush_tool.png b/plugins/whiteboard/brush_tool.png deleted file mode 100644 index 266c32171..000000000 Binary files a/plugins/whiteboard/brush_tool.png and /dev/null differ diff --git a/plugins/whiteboard/line_tool.png b/plugins/whiteboard/line_tool.png deleted file mode 100644 index 151f58484..000000000 Binary files a/plugins/whiteboard/line_tool.png and /dev/null differ diff --git a/plugins/whiteboard/manifest.ini b/plugins/whiteboard/manifest.ini deleted file mode 100644 index a9f67085e..000000000 --- a/plugins/whiteboard/manifest.ini +++ /dev/null @@ -1,7 +0,0 @@ -[info] -name: Whiteboard -short_name: whiteboard -version: 0.1 -description: Shows a whiteboard in chat. python-pygoocanvas is required. -authors = Yann Leboulanger -homepage = www.gajim.org diff --git a/plugins/whiteboard/oval_tool.png b/plugins/whiteboard/oval_tool.png deleted file mode 100644 index efd6f0ca1..000000000 Binary files a/plugins/whiteboard/oval_tool.png and /dev/null differ diff --git a/plugins/whiteboard/plugin.py b/plugins/whiteboard/plugin.py deleted file mode 100644 index 2716c203e..000000000 --- a/plugins/whiteboard/plugin.py +++ /dev/null @@ -1,477 +0,0 @@ -## plugins/whiteboard/plugin.py -## -## Copyright (C) 2009 Jeff Ling -## Copyright (C) 2010 Yann Leboulanger -## -## This file is part of Gajim. -## -## Gajim 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 is distributed in the hope that it will be useful, -## but WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -## GNU General Public License for more details. -## -## You should have received a copy of the GNU General Public License -## along with Gajim. If not, see . -## - -''' -Whiteboard plugin. - -:author: Yann Leboulanger -:since: 1st November 2010 -:copyright: Copyright (2010) Yann Leboulanger -:license: GPL -''' - - -from common import helpers -from common import gajim -from plugins import GajimPlugin -from plugins.plugin import GajimPluginException -from plugins.helpers import log_calls, log -import common.xmpp -import gtk -import chat_control -from common import ged -from common.jingle_session import JingleSession -from common.jingle_content import JingleContent -from common.jingle_transport import JingleTransport, TransportType -import dialogs -from whiteboard_widget import Whiteboard, HAS_GOOCANVAS -from common import xmpp -from common import caps_cache - -NS_JINGLE_XHTML = 'urn:xmpp:tmp:jingle:apps:xhtml' -NS_JINGLE_SXE = 'urn:xmpp:tmp:jingle:transports:sxe' -NS_SXE = 'urn:xmpp:sxe:0' - -class WhiteboardPlugin(GajimPlugin): - @log_calls('WhiteboardPlugin') - def init(self): - self.config_dialog = None - self.events_handlers = { - 'jingle-request-received': (ged.GUI1, self._nec_jingle_received), - 'jingle-connected-received': (ged.GUI1, self._nec_jingle_connected), - 'jingle-disconnected-received': (ged.GUI1, - self._nec_jingle_disconnected), - 'raw-message-received': (ged.GUI1, self._nec_raw_message), - } - self.gui_extension_points = { - 'chat_control_base' : (self.connect_with_chat_control, - self.disconnect_from_chat_control), - 'chat_control_base_update_toolbar': (self.update_button_state, - None), - } - self.controls = [] - self.sid = None - - @log_calls('WhiteboardPlugin') - def _compute_caps_hash(self): - for a in gajim.connections: - gajim.caps_hash[a] = caps_cache.compute_caps_hash([ - gajim.gajim_identity], gajim.gajim_common_features + \ - gajim.gajim_optional_features[a]) - # re-send presence with new hash - connected = gajim.connections[a].connected - if connected > 1 and gajim.SHOW_LIST[connected] != 'invisible': - gajim.connections[a].change_status(gajim.SHOW_LIST[connected], - gajim.connections[a].status) - - @log_calls('WhiteboardPlugin') - def activate(self): - if not HAS_GOOCANVAS: - raise GajimPluginException('python-pygoocanvas is missing!') - if NS_JINGLE_SXE not in gajim.gajim_common_features: - gajim.gajim_common_features.append(NS_JINGLE_SXE) - if NS_SXE not in gajim.gajim_common_features: - gajim.gajim_common_features.append(NS_SXE) - self._compute_caps_hash() - - @log_calls('WhiteboardPlugin') - def deactivate(self): - if NS_JINGLE_SXE in gajim.gajim_common_features: - gajim.gajim_common_features.remove(NS_JINGLE_SXE) - if NS_SXE in gajim.gajim_common_features: - gajim.gajim_common_features.remove(NS_SXE) - self._compute_caps_hash() - - @log_calls('WhiteboardPlugin') - def connect_with_chat_control(self, control): - if isinstance(control, chat_control.ChatControl): - base = Base(self, control) - self.controls.append(base) - - @log_calls('WhiteboardPlugin') - def disconnect_from_chat_control(self, chat_control): - for base in self.controls: - base.disconnect_from_chat_control() - self.controls = [] - - @log_calls('WhiteboardPlugin') - def update_button_state(self, control): - for base in self.controls: - if base.chat_control == control: - if control.contact.supports(NS_JINGLE_SXE) and \ - control.contact.supports(NS_SXE): - base.button.set_sensitive(True) - else: - base.button.set_sensitive(False) - - @log_calls('WhiteboardPlugin') - def show_request_dialog(self, account, fjid, jid, sid, content_types): - def on_ok(): - session = gajim.connections[account].get_jingle_session(fjid, sid) - self.sid = session.sid - if not session.accepted: - session.approve_session() - for content in content_types: - session.approve_content(content) - for _jid in (fjid, jid): - ctrl = gajim.interface.msg_win_mgr.get_control(_jid, account) - if ctrl: - break - if not ctrl: - # create it - gajim.interface.new_chat_from_jid(account, jid) - ctrl = gajim.interface.msg_win_mgr.get_control(jid, account) - session = session.contents[('initiator', 'xhtml')] - ctrl.draw_whiteboard(session) - - def on_cancel(): - session = gajim.connections[account].get_jingle_session(fjid, sid) - session.decline_session() - - contact = gajim.contacts.get_first_contact_from_jid(account, jid) - if contact: - name = contact.get_shown_name() - else: - name = jid - pritext = _('Incoming Whiteboard') - sectext = _('%(name)s (%(jid)s) wants to start a whiteboard with ' - 'you. Do you want to accept?') % {'name': name, 'jid': jid} - dialog = dialogs.NonModalConfirmationDialog(pritext, sectext=sectext, - on_response_ok=on_ok, on_response_cancel=on_cancel) - dialog.popup() - - @log_calls('WhiteboardPlugin') - def _nec_jingle_received(self, obj): - if not HAS_GOOCANVAS: - return - content_types = set(c[0] for c in obj.contents) - if 'xhtml' not in content_types: - return - self.show_request_dialog(obj.conn.name, obj.fjid, obj.jid, obj.sid, - content_types) - - @log_calls('WhiteboardPlugin') - def _nec_jingle_connected(self, obj): - if not HAS_GOOCANVAS: - return - account = obj.conn.name - ctrl = (gajim.interface.msg_win_mgr.get_control(obj.fjid, account) - or gajim.interface.msg_win_mgr.get_control(obj.jid, account)) - if not ctrl: - return - session = gajim.connections[obj.conn.name].get_jingle_session(obj.fjid, - obj.sid) - - if ('initiator', 'xhtml') not in session.contents: - return - - session = session.contents[('initiator', 'xhtml')] - ctrl.draw_whiteboard(session) - - @log_calls('WhiteboardPlugin') - def _nec_jingle_disconnected(self, obj): - for base in self.controls: - if base.sid == obj.sid: - base.stop_whiteboard(reason = obj.reason) - - @log_calls('WhiteboardPlugin') - def _nec_raw_message(self, obj): - if not HAS_GOOCANVAS: - return - if obj.stanza.getTag('sxe', namespace=NS_SXE): - account = obj.conn.name - - try: - fjid = helpers.get_full_jid_from_iq(obj.stanza) - except helpers.InvalidFormat: - obj.conn.dispatch('ERROR', (_('Invalid Jabber ID'), - _('A message from a non-valid JID arrived, it has been ' - 'ignored.'))) - - jid = gajim.get_jid_without_resource(fjid) - ctrl = (gajim.interface.msg_win_mgr.get_control(fjid, account) - or gajim.interface.msg_win_mgr.get_control(jid, account)) - if not ctrl: - return - sxe = obj.stanza.getTag('sxe') - if not sxe: - return - sid = sxe.getAttr('session') - if (jid, sid) not in obj.conn._sessions: - pass -# newjingle = JingleSession(con=self, weinitiate=False, jid=jid, sid=sid) -# self.addJingle(newjingle) - - # we already have such session in dispatcher... - session = obj.conn.get_jingle_session(fjid, sid) - cn = session.contents[('initiator', 'xhtml')] - error = obj.stanza.getTag('error') - if error: - action = 'iq-error' - else: - action = 'edit' - - cn.on_stanza(obj.stanza, sxe, error, action) -# def __editCB(self, stanza, content, error, action): - #new_tags = sxe.getTags('new') - #remove_tags = sxe.getTags('remove') - - #if new_tags is not None: - ## Process new elements - #for tag in new_tags: - #if tag.getAttr('type') == 'element': - #ctrl.whiteboard.recieve_element(tag) - #elif tag.getAttr('type') == 'attr': - #ctrl.whiteboard.recieve_attr(tag) - #ctrl.whiteboard.apply_new() - - #if remove_tags is not None: - ## Delete rids - #for tag in remove_tags: - #target = tag.getAttr('target') - #ctrl.whiteboard.image.del_rid(target) - - # Stop propagating this event, it's handled - return True - - -class Base(object): - def __init__(self, plugin, chat_control): - self.plugin = plugin - self.chat_control = chat_control - self.chat_control.draw_whiteboard = self.draw_whiteboard - self.contact = self.chat_control.contact - self.account = self.chat_control.account - self.jid = self.contact.get_full_jid() - self.create_buttons() - self.whiteboard = None - self.sid = None - - def create_buttons(self): - # create juick button - actions_hbox = self.chat_control.xml.get_object('actions_hbox') - self.button = gtk.ToggleButton(label=None, use_underline=True) - self.button.set_property('relief', gtk.RELIEF_NONE) - self.button.set_property('can-focus', False) - img = gtk.Image() - img_path = self.plugin.local_file_path('whiteboard.png') - pixbuf = gtk.gdk.pixbuf_new_from_file(img_path) - iconset = gtk.IconSet(pixbuf=pixbuf) - factory = gtk.IconFactory() - factory.add('whiteboard', iconset) - img_path = self.plugin.local_file_path('brush_tool.png') - pixbuf = gtk.gdk.pixbuf_new_from_file(img_path) - iconset = gtk.IconSet(pixbuf=pixbuf) - factory.add('brush_tool', iconset) - img_path = self.plugin.local_file_path('line_tool.png') - pixbuf = gtk.gdk.pixbuf_new_from_file(img_path) - iconset = gtk.IconSet(pixbuf=pixbuf) - factory.add('line_tool', iconset) - img_path = self.plugin.local_file_path('oval_tool.png') - pixbuf = gtk.gdk.pixbuf_new_from_file(img_path) - iconset = gtk.IconSet(pixbuf=pixbuf) - factory.add('oval_tool', iconset) - factory.add_default() - img.set_from_stock('whiteboard', gtk.ICON_SIZE_BUTTON) - self.button.set_image(img) - send_button = self.chat_control.xml.get_object('send_button') - send_button_pos = actions_hbox.child_get_property(send_button, - 'position') - actions_hbox.add_with_properties(self.button, 'position', - send_button_pos - 1, 'expand', False) - id_ = self.button.connect('toggled', self.on_whiteboard_button_toggled) - self.chat_control.handlers[id_] = self.button - self.button.show() - - def draw_whiteboard(self, content): - hbox = self.chat_control.xml.get_object('chat_control_hbox') - if len(hbox.get_children()) == 1: - self.whiteboard = Whiteboard(self.account, self.contact, content, - self.plugin) - # set minimum size - self.whiteboard.hbox.set_size_request(300, 0) - hbox.pack_start(self.whiteboard.hbox, expand=False, fill=False) - self.whiteboard.hbox.show_all() - self.button.set_active(True) - content.control = self - self.sid = content.session.sid - - def on_whiteboard_button_toggled(self, widget): - """ - Popup whiteboard - """ - if widget.get_active(): - if not self.whiteboard: - self.start_whiteboard() - else: - self.stop_whiteboard() - - def start_whiteboard(self): - conn = gajim.connections[self.chat_control.account] - jingle = JingleSession(conn, weinitiate=True, jid=self.jid) - self.sid = jingle.sid - conn._sessions[jingle.sid] = jingle - content = JingleWhiteboard(jingle) - content.control = self - jingle.add_content('xhtml', content) - jingle.start_session() - - def stop_whiteboard(self, reason=None): - conn = gajim.connections[self.chat_control.account] - self.sid = None - session = conn.get_jingle_session(self.jid, media='xhtml') - if session: - session.end_session() - self.button.set_active(False) - if reason: - txt = _('Whiteboard stopped: %(reason)s') % {'reason': reason} - self.chat_control.print_conversation(txt, 'info') - if not self.whiteboard: - return - hbox = self.chat_control.xml.get_object('chat_control_hbox') - if self.whiteboard.hbox in hbox.get_children(): - if hasattr(self.whiteboard, 'hbox'): - hbox.remove(self.whiteboard.hbox) - self.whiteboard = None - - def disconnect_from_chat_control(self): - actions_hbox = self.chat_control.xml.get_object('actions_hbox') - actions_hbox.remove(self.button) - -class JingleWhiteboard(JingleContent): - ''' Jingle Whiteboard sessions consist of xhtml content''' - def __init__(self, session, transport=None): - if not transport: - transport = JingleTransportSXE() - JingleContent.__init__(self, session, transport) - self.media = 'xhtml' - self.negotiated = True # there is nothing to negotiate - self.last_rid = 0 - self.callbacks['session-accept'] += [self._sessionAcceptCB] - self.callbacks['session-terminate'] += [self._stop] - self.callbacks['session-terminate-sent'] += [self._stop] - self.callbacks['edit'] = [self._EditCB] - - def _EditCB(self, stanza, content, error, action): - new_tags = content.getTags('new') - remove_tags = content.getTags('remove') - - if new_tags is not None: - # Process new elements - for tag in new_tags: - if tag.getAttr('type') == 'element': - self.control.whiteboard.recieve_element(tag) - elif tag.getAttr('type') == 'attr': - self.control.whiteboard.recieve_attr(tag) - self.control.whiteboard.apply_new() - - if remove_tags is not None: - # Delete rids - for tag in remove_tags: - target = tag.getAttr('target') - self.control.whiteboard.image.del_rid(target) - - def _sessionAcceptCB(self, stanza, content, error, action): - log.debug('session accepted') - self.session.connection.dispatch('WHITEBOARD_ACCEPTED', - (self.session.peerjid, self.session.sid)) - - def generate_rids(self, x): - # generates x number of rids and returns in list - rids = [] - for x in range(x): - rids.append(str(self.last_rid)) - self.last_rid += 1 - return rids - - def send_whiteboard_node(self, items, rids): - # takes int rid and dict items and sends it as a node - # sends new item - jid = self.session.peerjid - sid = self.session.sid - message = xmpp.Message(to=jid) - sxe = message.addChild(name='sxe', attrs={'session': sid}, - namespace=NS_SXE) - - for x in rids: - if items[x]['type'] == 'element': - parent = x - attrs = {'rid': x, - 'name': items[x]['data'][0].getName(), - 'type': items[x]['type']} - sxe.addChild(name='new', attrs=attrs) - if items[x]['type'] == 'attr': - attr_name = items[x]['data'] - chdata = items[parent]['data'][0].getAttr(attr_name) - attrs = {'rid': x, - 'name': attr_name, - 'type': items[x]['type'], - 'chdata': chdata, - 'parent': parent} - sxe.addChild(name='new', attrs=attrs) - self.session.connection.connection.send(message) - - def delete_whiteboard_node(self, rids): - message = xmpp.Message(to=self.session.peerjid) - sxe = message.addChild(name='sxe', attrs={'session': self.session.sid}, - namespace=NS_SXE) - - for x in rids: - sxe.addChild(name='remove', attrs = {'target': x}) - self.session.connection.connection.send(message) - - def send_items(self, items, rids): - # recieves dict items and a list of rids of items to send - # TODO: is there a less clumsy way that doesn't involve passing - # whole list - self.send_whiteboard_node(items, rids) - - def del_item(self, rids): - self.delete_whiteboard_node(rids) - - def encode(self, xml): - # encodes it sendable string - return 'data:text/xml,' + urllib.quote(xml) - - def _fill_content(self, content): - content.addChild(NS_JINGLE_XHTML + ' description') - - def _stop(self, *things): - pass - - def __del__(self): - pass - -def get_content(desc): - return JingleWhiteboard - -common.jingle_content.contents[NS_JINGLE_XHTML] = get_content - -class JingleTransportSXE(JingleTransport): - def __init__(self): - JingleTransport.__init__(self, TransportType.streaming) - - def make_transport(self, candidates=None): - transport = JingleTransport.make_transport(self, candidates) - transport.setNamespace(NS_JINGLE_SXE) - transport.setTagData('host', 'TODO') - return transport - -common.jingle_transport.transports[NS_JINGLE_SXE] = JingleTransportSXE diff --git a/plugins/whiteboard/whiteboard.png b/plugins/whiteboard/whiteboard.png deleted file mode 100644 index 13318e3a7..000000000 Binary files a/plugins/whiteboard/whiteboard.png and /dev/null differ diff --git a/plugins/whiteboard/whiteboard_widget.py b/plugins/whiteboard/whiteboard_widget.py deleted file mode 100644 index 8b92b8bfb..000000000 --- a/plugins/whiteboard/whiteboard_widget.py +++ /dev/null @@ -1,419 +0,0 @@ -## plugins/whiteboard/whiteboard_widget.py -## -## Copyright (C) 2009 Jeff Ling -## Copyright (C) 2010 Yann Leboulanger -## -## This file is part of Gajim. -## -## Gajim 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 is distributed in the hope that it will be useful, -## but WITHOUT ANY WARRANTY; without even the implied warranty of -## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -## GNU General Public License for more details. -## -## You should have received a copy of the GNU General Public License -## along with Gajim. If not, see . -## - -import gtk -import gtkgui_helpers -try: - import goocanvas - HAS_GOOCANVAS = True -except: - HAS_GOOCANVAS = False -from common.xmpp import Node -from common import gajim -from common import i18n -from dialogs import FileChooserDialog - -''' -A whiteboard widget made for Gajim. -- Ummu -''' - -class Whiteboard(object): - def __init__(self, account, contact, session, plugin): - self.plugin = plugin - file_path = plugin.local_file_path('whiteboard_widget.ui') - xml = gtk.Builder() - xml.set_translation_domain(i18n.APP) - xml.add_from_file(file_path) - self.hbox = xml.get_object('whiteboard_hbox') - self.canevas = goocanvas.Canvas() - self.hbox.pack_start(self.canevas) - self.hbox.reorder_child(self.canevas, 0) - self.canevas.set_flags(gtk.CAN_FOCUS) - self.fg_color_select_button = xml.get_object('fg_color_button') - self.root = self.canevas.get_root_item() - self.tool_buttons = [] - for tool in ('brush', 'oval', 'line', 'delete'): - self.tool_buttons.append(xml.get_object(tool + '_button')) - xml.get_object('brush_button').set_active(True) - - # Events - self.canevas.connect('button-press-event', self.button_press_event) - self.canevas.connect('button-release-event', self.button_release_event) - self.canevas.connect('motion-notify-event', self.motion_notify_event) - self.canevas.connect('item-created', self.item_created) - - # Config - self.line_width = 2 - xml.get_object('size_scale').set_value(2) - self.color = str(self.fg_color_select_button.get_color()) - - # SVG Storage - self.image = SVGObject(self.root, session) - - xml.connect_signals(self) - - # Temporary Variables for items - self.item_temp = None - self.item_temp_coords = (0, 0) - self.item_data = None - - # Will be {ID: {type:'element', data:[node, goocanvas]}, ID2: {}} instance - self.recieving = {} - - def on_tool_button_toggled(self, widget): - for btn in self.tool_buttons: - if btn == widget: - continue - btn.set_active(False) - - def on_brush_button_toggled(self, widget): - if widget.get_active(): - self.image.draw_tool = 'brush' - self.on_tool_button_toggled(widget) - - def on_oval_button_toggled(self, widget): - if widget.get_active(): - self.image.draw_tool = 'oval' - self.on_tool_button_toggled(widget) - - def on_line_button_toggled(self, widget): - if widget.get_active(): - self.image.draw_tool = 'line' - self.on_tool_button_toggled(widget) - - def on_delete_button_toggled(self, widget): - if widget.get_active(): - self.image.draw_tool = 'delete' - self.on_tool_button_toggled(widget) - - def on_clear_button_clicked(self, widget): - self.image.clear_canvas() - - def on_export_button_clicked(self, widget): - SvgChooserDialog(self.image.export_svg) - - def on_fg_color_button_color_set(self, widget): - self.color = str(self.fg_color_select_button.get_color()) - - def item_created(self, canvas, item, model): - print 'item created' - item.connect('button-press-event', self.item_button_press_events) - - def item_button_press_events(self, item, target_item, event): - if self.image.draw_tool == 'delete': - self.image.del_item(item) - - def on_size_scale_format_value(self, widget): - self.line_width = int(widget.get_value()) - - def button_press_event(self, widget, event): - x = event.x - y = event.y - state = event.state - self.item_temp_coords = (x, y) - - if self.image.draw_tool == 'brush': - self.item_temp = goocanvas.Ellipse(parent=self.root, - center_x=x, - center_y=y, - radius_x=1, - radius_y=1, - stroke_color=self.color, - fill_color=self.color, - line_width=self.line_width) - self.item_data = 'M %s,%s L ' % (x, y) - - elif self.image.draw_tool == 'oval': - self.item_data = True - - if self.image.draw_tool == 'line': - self.item_data = 'M %s,%s L' % (x, y) - - def motion_notify_event(self, widget, event): - x = event.x - y = event.y - state = event.state - if self.item_temp is not None: - self.item_temp.remove() - - if self.item_data is not None: - if self.image.draw_tool == 'brush': - self.item_data = self.item_data + '%s,%s ' % (x, y) - self.item_temp = goocanvas.Path(parent=self.root, - data=self.item_data, line_width=self.line_width, - stroke_color=self.color) - elif self.image.draw_tool == 'oval': - self.item_temp = goocanvas.Ellipse(parent=self.root, - center_x=self.item_temp_coords[0] + (x - self.item_temp_coords[0]) / 2, - center_y=self.item_temp_coords[1] + (y - self.item_temp_coords[1]) / 2, - radius_x=abs(x - self.item_temp_coords[0]) / 2, - radius_y=abs(y - self.item_temp_coords[1]) / 2, - stroke_color=self.color, - line_width=self.line_width) - elif self.image.draw_tool == 'line': - self.item_data = 'M %s,%s L' % self.item_temp_coords - self.item_data = self.item_data + ' %s,%s' % (x, y) - self.item_temp = goocanvas.Path(parent=self.root, - data=self.item_data, line_width=self.line_width, - stroke_color=self.color) - - def button_release_event(self, widget, event): - x = event.x - y = event.y - state = event.state - - if self.image.draw_tool == 'brush': - self.item_data = self.item_data + '%s,%s' % (x, y) - if x == self.item_temp_coords[0] and y == self.item_temp_coords[1]: - goocanvas.Ellipse(parent=self.root, - center_x=x, - center_y=y, - radius_x=1, - radius_y=1, - stroke_color=self.color, - fill_color=self.color, - line_width=self.line_width) - self.image.add_path(self.item_data, self.line_width, self.color) - - if self.image.draw_tool == 'oval': - cx = self.item_temp_coords[0] + (x - self.item_temp_coords[0]) / 2 - cy = self.item_temp_coords[1] + (y - self.item_temp_coords[1]) / 2 - rx = abs(x - self.item_temp_coords[0]) / 2 - ry = abs(y - self.item_temp_coords[1]) / 2 - self.image.add_ellipse(cx, cy, rx, ry, self.line_width, self.color) - - if self.image.draw_tool == 'line': - self.item_data = 'M %s,%s L' % self.item_temp_coords - self.item_data = self.item_data + ' %s,%s' % (x, y) - if x == self.item_temp_coords[0] and y == self.item_temp_coords[1]: - goocanvas.Ellipse(parent=self.root, - center_x=x, - center_y=y, - radius_x=1, - radius_y=1, - stroke_color='black', - fill_color='black', - line_width=self.line_width) - self.image.add_path(self.item_data, self.line_width, self.color) - - if self.image.draw_tool == 'delete': - pass - - self.item_data = None - if self.item_temp is not None: - self.item_temp.remove() - self.item_temp = None - - def recieve_element(self, element): - node = self.image.g.addChild(name=element.getAttr('name')) - self.image.g.addChild(node=node) - self.recieving[element.getAttr('rid')] = {'type':'element', - 'data':[node], - 'children':[]} - - def recieve_attr(self, element): - node = self.recieving[element.getAttr('parent')]['data'][0] - node.setAttr(element.getAttr('name'), element.getAttr('chdata')) - - self.recieving[element.getAttr('rid')] = {'type':'attr', - 'data':element.getAttr('name'), - 'parent':node} - self.recieving[element.getAttr('parent')]['children'].append(element.getAttr('rid')) - - def apply_new(self): - for x in self.recieving.keys(): - if self.recieving[x]['type'] == 'element': - self.image.add_recieved(x, self.recieving) - - self.recieving = {} - -class SvgChooserDialog(FileChooserDialog): - def __init__(self, on_response_ok=None, on_response_cancel=None): - ''' - Choose in which SVG file to store the image - ''' - def on_ok(widget, callback): - ''' - check if file exists and call callback - ''' - path_to_file = self.get_filename() - path_to_file = gtkgui_helpers.decode_filechooser_file_paths( - (path_to_file,))[0] - widget.destroy() - callback(path_to_file) - - FileChooserDialog.__init__(self, - title_text=_('Save Image as...'), - action=gtk.FILE_CHOOSER_ACTION_SAVE, - buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, gtk.STOCK_OPEN, - gtk.RESPONSE_OK), - current_folder='', - default_response=gtk.RESPONSE_OK, - on_response_ok=(on_ok, on_response_ok), - on_response_cancel=on_response_cancel) - - filter_ = gtk.FileFilter() - filter_.set_name(_('All files')) - filter_.add_pattern('*') - self.add_filter(filter_) - - filter_ = gtk.FileFilter() - filter_.set_name(_('SVG Files')) - filter_.add_pattern('*.svg') - self.add_filter(filter_) - self.set_filter(filter_) - - -class SVGObject(): - ''' A class to store the svg document and make changes to it.''' - - def __init__(self, root, session, height=300, width=300): - # Will be {ID: {type:'element', data:[node, goocanvas]}, ID2: {}} instance - self.items = {} - self.root = root - self.draw_tool = 'brush' - - # sxe session - self.session = session - - # initialize svg document - self.svg = Node(node='') - self.svg.setAttr('version', '1.1') - self.svg.setAttr('height', str(height)) - self.svg.setAttr('width', str(width)) - self.svg.setAttr('xmlns', 'http://www.w3.org/2000/svg') - # TODO: make this settable - self.g = self.svg.addChild(name='g') - self.g.setAttr('fill', 'none') - self.g.setAttr('stroke-linecap', 'round') - - def add_path(self, data, line_width, color): - ''' adds the path to the items listing, both minidom node and goocanvas - object in a tuple ''' - - goocanvas_obj = goocanvas.Path(parent=self.root, data=data, - line_width=line_width, stroke_color=color) - goocanvas_obj.connect('button-press-event', self.item_button_press_events) - - node = self.g.addChild(name='path') - node.setAttr('d', data) - node.setAttr('stroke-width', str(line_width)) - node.setAttr('stroke', color) - self.g.addChild(node=node) - - rids = self.session.generate_rids(4) - self.items[rids[0]] = {'type':'element', 'data':[node, goocanvas_obj], 'children':rids[1:]} - self.items[rids[1]] = {'type':'attr', 'data':'d', 'parent':node} - self.items[rids[2]] = {'type':'attr', 'data':'stroke-width', 'parent':node} - self.items[rids[3]] = {'type':'attr', 'data':'stroke', 'parent':node} - - self.session.send_items(self.items, rids) - - def add_recieved(self, parent_rid, new_items): - ''' adds the path to the items listing, both minidom node and goocanvas - object in a tuple ''' - node = new_items[parent_rid]['data'][0] - - self.items[parent_rid] = new_items[parent_rid] - for x in new_items[parent_rid]['children']: - self.items[x] = new_items[x] - - if node.getName() == 'path': - goocanvas_obj = goocanvas.Path(parent=self.root, - data=node.getAttr('d'), - line_width=int(node.getAttr('stroke-width')), - stroke_color=node.getAttr('stroke')) - - if node.getName() == 'ellipse': - goocanvas_obj = goocanvas.Ellipse(parent=self.root, - center_x=float(node.getAttr('cx')), - center_y=float(node.getAttr('cy')), - radius_x=float(node.getAttr('rx')), - radius_y=float(node.getAttr('ry')), - stroke_color=node.getAttr('stroke'), - line_width=float(node.getAttr('stroke-width'))) - - self.items[parent_rid]['data'].append(goocanvas_obj) - goocanvas_obj.connect('button-press-event', self.item_button_press_events) - - def add_ellipse(self, cx, cy, rx, ry, line_width, stroke_color): - ''' adds the ellipse to the items listing, both minidom node and goocanvas - object in a tuple ''' - - goocanvas_obj = goocanvas.Ellipse(parent=self.root, - center_x=cx, - center_y=cy, - radius_x=rx, - radius_y=ry, - stroke_color=stroke_color, - line_width=line_width) - goocanvas_obj.connect('button-press-event', self.item_button_press_events) - - node = self.g.addChild(name='ellipse') - node.setAttr('cx', str(cx)) - node.setAttr('cy', str(cy)) - node.setAttr('rx', str(rx)) - node.setAttr('ry', str(ry)) - node.setAttr('stroke-width', str(line_width)) - node.setAttr('stroke', stroke_color) - self.g.addChild(node=node) - - rids = self.session.generate_rids(7) - self.items[rids[0]] = {'type':'element', 'data':[node, goocanvas_obj], 'children':rids[1:]} - self.items[rids[1]] = {'type':'attr', 'data':'cx', 'parent':node} - self.items[rids[2]] = {'type':'attr', 'data':'cy', 'parent':node} - self.items[rids[3]] = {'type':'attr', 'data':'rx', 'parent':node} - self.items[rids[4]] = {'type':'attr', 'data':'ry', 'parent':node} - self.items[rids[5]] = {'type':'attr', 'data':'stroke-width', 'parent':node} - self.items[rids[6]] = {'type':'attr', 'data':'stroke', 'parent':node} - - self.session.send_items(self.items, rids) - - def del_item(self, item): - rids = [] - for x in self.items.keys(): - if self.items[x]['type'] == 'element': - if self.items[x]['data'][1] == item: - for y in self.items[x]['children']: - rids.append(y) - self.del_rid(y) - rids.append(x) - self.del_rid(x) - break - self.session.del_item(rids) - - def clear_canvas(self): - for x in self.items.keys(): - if self.items[x]['type'] == 'element': - self.del_rid(x) - - def del_rid(self, rid): - if self.items[rid]['type'] == 'element': - self.items[rid]['data'][1].remove() - del self.items[rid] - - def export_svg(self, filename): - f = open(filename, 'w') - f.writelines(str(self.svg)) - f.close() - - def item_button_press_events(self, item, target_item, event): - self.del_item(item) diff --git a/plugins/whiteboard/whiteboard_widget.ui b/plugins/whiteboard/whiteboard_widget.ui deleted file mode 100644 index fddd2cb75..000000000 --- a/plugins/whiteboard/whiteboard_widget.ui +++ /dev/null @@ -1,192 +0,0 @@ - - - - - - True - 3 - 6 - - - - - - True - 6 - vertical - 6 - - - True - True - True - Brush Tool: Draw freehand lines - - - - True - brush_tool - - - - - False - False - 0 - - - - - True - True - True - Oval Tool: Draw circles and ellipses - - - - True - oval_tool - - - - - False - False - 1 - - - - - True - True - True - Line Tool: Draw straight lines - - - - True - line_tool - - - - - False - False - 2 - - - - - True - True - True - Delete Tool: Remove individual figures - - - - True - gtk-delete - - - - - False - False - 3 - - - - - True - True - True - Clear Canvas: Cleanup canvas - - - - True - gtk-clear - - - - - False - False - 4 - - - - - True - True - True - Export Image: Save image to svg file - - - - True - gtk-save-as - - - - - False - False - 5 - - - - - 68 - True - True - Line width - vertical - adjustment1 - True - 0 - bottom - - - - False - False - 6 - - - - - True - True - True - Foreground color - #000000000000 - - - - False - False - 7 - - - - - False - False - 1 - - - - - True - gtk-delete - - - 2 - 1 - 110 - 1 - 10 - 10 - - diff --git a/po/de.po b/po/de.po index 292185e30..d86358644 100644 --- a/po/de.po +++ b/po/de.po @@ -5,18 +5,14 @@ # Benjamin Drung , 2007, 2008. # Fabian Fingerle , 2007, 2008. # Sebastian Schäfer , 2007. -# Nico Gulden , 2007, 2008, 2009. +# Nico Gulden , 2007, 2008, 2009, 2010. # Niklas Hambüchen , 2009. -#: ../src/gajim-remote-plugin.py:221 ../src/gajim-remote-plugin.py:228 -#: ../src/gajim-remote-plugin.py:254 ../src/gajim-remote-plugin.py:255 -#: ../src/gajim-remote-plugin.py:261 ../src/gajim-remote-plugin.py:262 -#: ../src/gajim-remote-plugin.py:263 ../src/gajim-remote-plugin.py:264 msgid "" msgstr "" "Project-Id-Version: gajim 0.13\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-01 20:39+0200\n" -"PO-Revision-Date: 2009-12-13 23:46+0100\n" +"POT-Creation-Date: 2011-07-26 16:01+0200\n" +"PO-Revision-Date: 2010-08-03 22:43+0200\n" "Last-Translator: Nico Gulden \n" "Language-Team: German \n" "Language: de\n" @@ -34,7 +30,7 @@ msgstr "_Gruppenchat betreten …" msgid "_Add Contact..." msgstr "Kont_akt hinzufügen …" -#: ../data/gui/account_context_menu.ui.h:3 ../data/gui/roster_window.ui.h:18 +#: ../data/gui/account_context_menu.ui.h:3 ../data/gui/roster_window.ui.h:19 msgid "_Discover Services" msgstr "_Dienste durchsuchen" @@ -124,12 +120,12 @@ msgstr "Verwalten …" #: ../data/gui/account_creation_wizard_window.ui.h:17 #: ../data/gui/accounts_window.ui.h:39 ../data/gui/change_mood_dialog.ui.h:3 -#: ../src/config.py:1280 ../src/config.py:1383 ../src/config.py:1694 -#: ../src/config.py:1699 ../src/config.py:2265 ../src/config.py:2344 -#: ../src/config.py:2357 ../src/config.py:3613 ../src/config.py:3688 -#: ../src/dialogs.py:309 ../src/dialogs.py:311 ../src/dialogs.py:514 -#: ../src/dialogs.py:527 ../src/roster_window.py:2956 -#: ../src/roster_window.py:2962 ../src/roster_window.py:2967 +#: ../src/config.py:1289 ../src/config.py:1392 ../src/config.py:1703 +#: ../src/config.py:1708 ../src/config.py:2274 ../src/config.py:2353 +#: ../src/config.py:2366 ../src/config.py:3644 ../src/config.py:3719 +#: ../src/dialogs.py:311 ../src/dialogs.py:313 ../src/dialogs.py:519 +#: ../src/dialogs.py:532 ../src/roster_window.py:3091 +#: ../src/roster_window.py:3097 ../src/roster_window.py:3102 msgid "None" msgstr "Kein Proxy" @@ -159,7 +155,7 @@ msgstr "" "verbinden können." #: ../data/gui/account_creation_wizard_window.ui.h:24 -#: ../data/gui/roster_window.ui.h:16 +#: ../data/gui/roster_window.ui.h:17 msgid "_Advanced" msgstr "_Erweitert" @@ -178,6 +174,7 @@ msgstr "_Jabber-ID:" #: ../data/gui/account_creation_wizard_window.ui.h:28 #: ../data/gui/accounts_window.ui.h:64 +#: ../data/gui/manage_bookmarks_window.ui.h:8 msgid "_Password:" msgstr "_Passwort:" @@ -186,6 +183,7 @@ msgid "_Port:" msgstr "_Port:" #: ../data/gui/account_creation_wizard_window.ui.h:30 +#: ../data/gui/manage_bookmarks_window.ui.h:9 msgid "_Server:" msgstr "_Server:" @@ -230,7 +228,6 @@ msgid "Auto-reconnect when connection is lost" msgstr "Automatisch neu verbinden, falls die Verbindung abbricht" #: ../data/gui/accounts_window.ui.h:11 -#, fuzzy msgid "Browse..." msgstr "_Durchsuche" @@ -251,9 +248,8 @@ msgstr "" "Verbindung gesendet wird." #: ../data/gui/accounts_window.ui.h:15 -#, fuzzy msgid "Choose Client Cert" -msgstr "Datei auswählen …" +msgstr "Clientzertifikat auswählen …" #: ../data/gui/accounts_window.ui.h:16 msgid "Choose _Key..." @@ -269,9 +265,8 @@ msgstr "" "Klicken, um alle Kontakte eines anderen Kontos um Autorisierung zu fragen." #: ../data/gui/accounts_window.ui.h:19 -#, fuzzy msgid "Client certificate" -msgstr "Selbstsigniertes Zertifikat" +msgstr "Clientzertifikat" #: ../data/gui/accounts_window.ui.h:20 msgid "Co_nnect on Gajim startup" @@ -293,18 +288,19 @@ msgstr "Vorname:" #. No configured account #: ../data/gui/accounts_window.ui.h:24 ../data/gui/roster_window.ui.h:5 -#: ../src/common/helpers.py:1159 ../src/common/helpers.py:1171 -#: ../src/notify.py:528 ../src/notify.py:551 ../src/notify.py:600 -#: ../src/notify.py:616 +#: ../src/common/helpers.py:1148 ../src/common/helpers.py:1160 +#: ../src/notify.py:474 ../src/notify.py:497 ../src/notify.py:546 +#: ../src/notify.py:562 msgid "Gajim" msgstr "Gajim" #. FIXME: Ugly workaround. -#. FIXME: Ugly workaround. Maybe we haven't been in any group (defaults to General) +#. FIXME: Ugly workaround. +#. Maybe we haven't been in any group (defaults to General) #. General group cannot be changed -#: ../data/gui/accounts_window.ui.h:25 ../data/gui/preferences_window.ui.h:57 -#: ../src/common/contacts.py:141 ../src/dialogs.py:112 ../src/dialogs.py:122 -#: ../src/roster_window.py:2898 ../src/roster_window.py:5451 +#: ../data/gui/accounts_window.ui.h:25 ../data/gui/preferences_window.ui.h:56 +#: ../src/common/contacts.py:141 ../src/dialogs.py:112 ../src/dialogs.py:124 +#: ../src/roster_window.py:3033 ../src/roster_window.py:5648 msgid "General" msgstr "Allgemein" @@ -366,8 +362,8 @@ msgid "Information about you, as stored in the server" msgstr "Informationen über Sie, die auf dem Server gespeichert sind" #: ../data/gui/accounts_window.ui.h:35 -#: ../data/gui/zeroconf_information_window.ui.h:4 ../src/config.py:1817 -#: ../src/dialogs.py:831 +#: ../data/gui/zeroconf_information_window.ui.h:4 ../src/config.py:1826 +#: ../src/dialogs.py:837 msgid "Jabber ID:" msgstr "Jabber-ID:" @@ -380,8 +376,8 @@ msgstr "Nachname:" msgid "Mer_ge accounts" msgstr "Konten _zusammenführen" -#: ../data/gui/accounts_window.ui.h:38 ../src/config.py:1790 -#: ../src/config.py:2358 +#: ../data/gui/accounts_window.ui.h:38 ../src/config.py:1799 +#: ../src/config.py:2367 msgid "No key selected" msgstr "Kein Schlüssel ausgewählt" @@ -409,7 +405,7 @@ msgstr "" "Falls aktiviert, ändert sich die Priorität automatisch gemäß dem Status." #. Rename -#: ../data/gui/accounts_window.ui.h:44 ../src/roster_window.py:5401 +#: ../data/gui/accounts_window.ui.h:44 ../src/roster_window.py:5598 msgid "Re_name" msgstr "_Umbenennen" @@ -454,7 +450,7 @@ msgstr "Kontakte synchronisieren" #: ../data/gui/accounts_window.ui.h:53 msgid "The path to the client certificate and key in PKCS#12 format" -msgstr "" +msgstr "Pfad zum Clientzertifikat und Schlüssel im PKCS#12 Format" #: ../data/gui/accounts_window.ui.h:54 msgid "Use G_PG Agent" @@ -474,7 +470,7 @@ msgstr "Dateiübertragungs-Proxys verwenden" #: ../data/gui/accounts_window.ui.h:58 msgid "_Client Cert File:" -msgstr "" +msgstr "Datei für _Clientzertifikat:" #: ../data/gui/accounts_window.ui.h:59 msgid "_Edit Personal Information..." @@ -546,6 +542,7 @@ msgid "_Group:" msgstr "_Gruppe:" #: ../data/gui/add_new_contact_window.ui.h:12 +#: ../data/gui/manage_bookmarks_window.ui.h:7 msgid "_Nickname:" msgstr "Spitz_name:" @@ -558,9 +555,8 @@ msgid "_Register" msgstr "_Registrieren" #: ../data/gui/add_new_contact_window.ui.h:15 -#, fuzzy msgid "_Save subscription message" -msgstr "_Abonnement" +msgstr "_Abonnementnachricht speichern" #: ../data/gui/add_new_contact_window.ui.h:16 msgid "_User ID:" @@ -587,9 +583,8 @@ msgid "Error description..." msgstr "Fehlerbeschreibung …" #: ../data/gui/adhoc_commands_window.ui.h:6 -#, fuzzy msgid "F_inish" -msgstr "_Beenden" +msgstr "_Fertigstellen" #: ../data/gui/adhoc_commands_window.ui.h:7 msgid "Please wait while retrieving command list..." @@ -676,194 +671,6 @@ msgstr "_Administrator" msgid "_Send Server Message..." msgstr "Servernachricht _senden …" -#: ../data/gui/advanced_notifications_window.ui.h:1 -msgid " a window/tab opened with that contact " -msgstr " ein Fenster/Tab mit diesem Kontakt geöffnet " - -#: ../data/gui/advanced_notifications_window.ui.h:2 -msgid "Actions" -msgstr "Aktionen" - -#: ../data/gui/advanced_notifications_window.ui.h:3 -msgid "Conditions" -msgstr "Ereignisse" - -#: ../data/gui/advanced_notifications_window.ui.h:4 -#: ../data/gui/preferences_window.ui.h:17 -msgid "Sounds" -msgstr "Klänge" - -#: ../data/gui/advanced_notifications_window.ui.h:5 -msgid "Advanced Actions" -msgstr "Erweiterte Aktionen" - -#: ../data/gui/advanced_notifications_window.ui.h:6 -msgid "Advanced Notifications Control" -msgstr "Erweiterter Benachrichtigungseditor" - -#: ../data/gui/advanced_notifications_window.ui.h:7 -msgid "All statuses" -msgstr "Alle Status" - -#: ../data/gui/advanced_notifications_window.ui.h:8 -#: ../src/common/commands.py:106 ../src/common/helpers.py:239 -#: ../src/tooltips.py:193 -msgid "Away" -msgstr "Abwesend" - -#: ../data/gui/advanced_notifications_window.ui.h:9 -msgid "Busy " -msgstr "Beschäftigt " - -#: ../data/gui/advanced_notifications_window.ui.h:10 -#, fuzzy -msgid "Contact Change Status " -msgstr "Kontakt hat Status verändert" - -#: ../data/gui/advanced_notifications_window.ui.h:11 -#, fuzzy -msgid "Contact Disconnected " -msgstr "Kontakt nicht verbunden" - -#: ../data/gui/advanced_notifications_window.ui.h:12 -msgid "Don't have " -msgstr "habe nicht " - -#: ../data/gui/advanced_notifications_window.ui.h:13 -#, fuzzy -msgid "File Transfer Finished" -msgstr "Dateiübertragungen" - -#: ../data/gui/advanced_notifications_window.ui.h:14 -#, fuzzy -msgid "File Transfer Request " -msgstr "Anfrage zur Dateiübertragung" - -#: ../data/gui/advanced_notifications_window.ui.h:15 -#, fuzzy -msgid "File Transfer Started " -msgstr "Dateiübertragung gestoppt" - -#: ../data/gui/advanced_notifications_window.ui.h:16 -#, fuzzy -msgid "Group Chat Message Highlight " -msgstr "Hervorhebung von Chatraum-Nachrichten" - -#: ../data/gui/advanced_notifications_window.ui.h:17 -#, fuzzy -msgid "Group Chat Message Received " -msgstr "Chatraum-Nachricht empfangen" - -#: ../data/gui/advanced_notifications_window.ui.h:18 -msgid "Have " -msgstr "habe " - -#: ../data/gui/advanced_notifications_window.ui.h:19 -#: ../src/common/helpers.py:249 -msgid "Invisible" -msgstr "Unsichtbar" - -#: ../data/gui/advanced_notifications_window.ui.h:20 -msgid "Launch a command" -msgstr "Einen Befehl ausführen" - -#: ../data/gui/advanced_notifications_window.ui.h:21 -#: ../src/common/helpers.py:222 ../src/tooltips.py:197 -msgid "Not Available" -msgstr "Nicht verfügbar" - -#: ../data/gui/advanced_notifications_window.ui.h:22 -msgid "One or more special statuses..." -msgstr "Einen oder mehrere spezielle Status …" - -#: ../data/gui/advanced_notifications_window.ui.h:23 -msgid "Online / Free For Chat" -msgstr "Online / Frei zum Chatten" - -#: ../data/gui/advanced_notifications_window.ui.h:24 -msgid "Play a sound" -msgstr "Einen Klang abspielen" - -#: ../data/gui/advanced_notifications_window.ui.h:25 -#, fuzzy -msgid "Receive a Message" -msgstr "Neue private Nachricht" - -#: ../data/gui/advanced_notifications_window.ui.h:26 -msgid "When " -msgstr "Wenn " - -#: ../data/gui/advanced_notifications_window.ui.h:27 -msgid "" -"_Activate window manager's UrgencyHint to make chat window in taskbar flash" -msgstr "" -"_Aktivere den UrgencyHint des Fenstermanagers, um das Chatfenster in der " -"Taskleiste blinken zu lassen" - -#: ../data/gui/advanced_notifications_window.ui.h:28 -msgid "_Disable auto opening chat window" -msgstr "_Deaktiviere sich von selbst öffnende Chatfenster" - -#: ../data/gui/advanced_notifications_window.ui.h:29 -msgid "_Disable existing popup window" -msgstr "_Deaktivere existierendes Popup-Fenster" - -#: ../data/gui/advanced_notifications_window.ui.h:30 -msgid "_Disable existing sound for this event" -msgstr "_Deaktivere existierenden Sound für dieses Ereignis" - -#: ../data/gui/advanced_notifications_window.ui.h:31 -#, fuzzy -msgid "_Disable showing event in notification area" -msgstr "_Deaktiviere die Ereignisanzeige in der Kontaktliste" - -#: ../data/gui/advanced_notifications_window.ui.h:32 -msgid "_Disable showing event in roster" -msgstr "_Deaktiviere die Ereignisanzeige in der Kontaktliste" - -#: ../data/gui/advanced_notifications_window.ui.h:33 -msgid "_Inform me with a popup window" -msgstr "_Informiere mich mit einem Popup-Fenster" - -#: ../data/gui/advanced_notifications_window.ui.h:34 -msgid "_Open chat window with user" -msgstr "Ein _Chatfenster mit Benutzer öffnen" - -#: ../data/gui/advanced_notifications_window.ui.h:35 -#, fuzzy -msgid "_Show event in notification area" -msgstr "Zeige Ereignis in der Kontaktli_ste" - -#: ../data/gui/advanced_notifications_window.ui.h:36 -msgid "_Show event in roster" -msgstr "Zeige Ereignis in der Kontaktli_ste" - -#: ../data/gui/advanced_notifications_window.ui.h:37 -msgid "and I " -msgstr "und ich " - -#: ../data/gui/advanced_notifications_window.ui.h:38 -#, fuzzy -msgid "contact(s)" -msgstr "Kontakte" - -#: ../data/gui/advanced_notifications_window.ui.h:39 -msgid "everybody" -msgstr "" - -#: ../data/gui/advanced_notifications_window.ui.h:40 -msgid "for " -msgstr "für " - -#: ../data/gui/advanced_notifications_window.ui.h:41 -#, fuzzy -msgid "group(s)" -msgstr "Gruppen" - -#: ../data/gui/advanced_notifications_window.ui.h:42 -msgid "when I'm in" -msgstr "wenn ich bin" - #: ../data/gui/archiving_preferences_window.ui.h:1 msgid "Method Auto" msgstr "" @@ -930,8 +737,8 @@ msgstr "blockierte Kontakte" # TODO: Review by german translators #: ../data/gui/blocked_contacts_window.ui.h:2 #: ../data/gui/contact_context_menu.ui.h:25 -#: ../data/gui/gc_occupants_menu.ui.h:13 ../src/roster_window.py:5420 -#: ../src/roster_window.py:5548 ../src/roster_window.py:5681 +#: ../data/gui/gc_occupants_menu.ui.h:14 ../src/roster_window.py:5617 +#: ../src/roster_window.py:5744 ../src/roster_window.py:5877 msgid "_Unblock" msgstr "_Entblocken" @@ -1018,14 +825,13 @@ msgstr "Link im Br_owser öffnen" msgid "_Start Chat" msgstr "Chat _starten" -#. # means number -#: ../data/gui/chat_control.ui.h:1 ../src/dialogs.py:4596 +#: ../data/gui/chat_control.ui.h:1 msgid "#" msgstr "Nr." #: ../data/gui/chat_control.ui.h:2 msgid "*" -msgstr "" +msgstr "*" #: ../data/gui/chat_control.ui.h:3 ../data/gui/single_message_window.ui.h:1 msgid "0" @@ -1033,39 +839,39 @@ msgstr "0" #: ../data/gui/chat_control.ui.h:4 msgid "1" -msgstr "" +msgstr "1" #: ../data/gui/chat_control.ui.h:5 msgid "2" -msgstr "" +msgstr "2" #: ../data/gui/chat_control.ui.h:6 msgid "3" -msgstr "" +msgstr "3" #: ../data/gui/chat_control.ui.h:7 msgid "4" -msgstr "" +msgstr "4" #: ../data/gui/chat_control.ui.h:8 msgid "5" -msgstr "" +msgstr "5" #: ../data/gui/chat_control.ui.h:9 msgid "6" -msgstr "" +msgstr "6" #: ../data/gui/chat_control.ui.h:10 msgid "7" -msgstr "" +msgstr "7" #: ../data/gui/chat_control.ui.h:11 msgid "8" -msgstr "" +msgstr "8" #: ../data/gui/chat_control.ui.h:12 msgid "9" -msgstr "" +msgstr "9" #: ../data/gui/chat_control.ui.h:13 msgid "Add this contact to roster (Ctrl+D)" @@ -1105,13 +911,13 @@ msgstr "Zwischen Video-Sitzung umschalten" #. Make sure the character after "_" is not M/m (conflicts with Alt+M that is supposed to show the Emoticon Selector) #: ../data/gui/chat_control.ui.h:23 ../data/gui/groupchat_control.ui.h:9 -#: ../data/gui/xml_console_window.ui.h:16 ../src/filetransfers_window.py:266 +#: ../data/gui/xml_console_window.ui.h:16 ../src/filetransfers_window.py:275 msgid "_Send" msgstr "_Senden" #: ../data/gui/chat_control.ui.h:24 ../data/gui/groupchat_control.ui.h:10 msgid "label" -msgstr "" +msgstr "Bezeichung" #: ../data/gui/chat_to_muc_window.ui.h:1 msgid "In_vite" @@ -1160,8 +966,9 @@ msgstr "_Gruppen bearbeiten …" #. Invite to #. Invite to Groupchat -#: ../data/gui/contact_context_menu.ui.h:6 ../src/roster_window.py:5356 -#: ../src/roster_window.py:5516 +#: ../data/gui/contact_context_menu.ui.h:6 +#: ../data/gui/gc_occupants_menu.ui.h:1 ../src/roster_window.py:5553 +#: ../src/roster_window.py:5712 msgid "In_vite to" msgstr "_Einladen zu" @@ -1173,12 +980,12 @@ msgstr "_Kontakte einladen" msgid "Remo_ve" msgstr "Ent_fernen" -#: ../data/gui/contact_context_menu.ui.h:9 ../src/roster_window.py:5366 -#: ../src/roster_window.py:5605 +#: ../data/gui/contact_context_menu.ui.h:9 ../src/roster_window.py:5563 +#: ../src/roster_window.py:5801 msgid "Send Cus_tom Status" msgstr "Benu_tzerdefinierten Status senden" -#: ../data/gui/contact_context_menu.ui.h:10 +#: ../data/gui/contact_context_menu.ui.h:10 ../data/gui/roster_window.ui.h:10 msgid "Send Single _Message..." msgstr "Einzelne _Nachricht senden …" @@ -1208,8 +1015,8 @@ msgid "_Allow him/her to see my status" msgstr "Erlaube dem Kont_akt, meinen Status zu sehen" #: ../data/gui/contact_context_menu.ui.h:18 -#: ../data/gui/gc_occupants_menu.ui.h:7 ../src/roster_window.py:5428 -#: ../src/roster_window.py:5554 ../src/roster_window.py:5684 +#: ../data/gui/gc_occupants_menu.ui.h:8 ../src/roster_window.py:5625 +#: ../src/roster_window.py:5750 ../src/roster_window.py:5880 msgid "_Block" msgstr "_Blockieren" @@ -1219,8 +1026,8 @@ msgstr "_Verbiete dem Kontakt, meinen Status zu sehen" #: ../data/gui/contact_context_menu.ui.h:20 #: ../data/gui/gc_control_popup_menu.ui.h:6 -#: ../data/gui/gc_occupants_menu.ui.h:8 ../data/gui/roster_window.ui.h:22 -#: ../src/roster_window.py:5755 +#: ../data/gui/gc_occupants_menu.ui.h:9 ../data/gui/roster_window.ui.h:23 +#: ../src/roster_window.py:5951 msgid "_History" msgstr "_Verlauf" @@ -1329,7 +1136,7 @@ msgid "When a file transfer is complete show a popup notification" msgstr "" "Zeige eine Popup-Benachrichtigung, wenn die Datei komplett übertragen wurde." -#: ../data/gui/filetransfers.ui.h:13 ../src/filetransfers_window.py:788 +#: ../data/gui/filetransfers.ui.h:13 ../src/filetransfers_window.py:798 msgid "_Continue" msgstr "_Fortsetzen" @@ -1354,26 +1161,24 @@ msgid "Chatstate Tab Colors" msgstr "Tabellenfarben des Chat-Status" #: ../data/gui/gajim_themes_window.ui.h:2 -#, fuzzy msgid "Account row" -msgstr "Konto" +msgstr "Kontoreihe" -#: ../data/gui/gajim_themes_window.ui.h:3 ../src/chat_control.py:942 +#: ../data/gui/gajim_themes_window.ui.h:3 ../src/chat_control.py:1029 msgid "Bold" msgstr "Fett" #: ../data/gui/gajim_themes_window.ui.h:4 msgid "Chat Banner" -msgstr "" +msgstr "Chat-Banner" #: ../data/gui/gajim_themes_window.ui.h:5 msgid "Composing" msgstr "Erstellen" #: ../data/gui/gajim_themes_window.ui.h:6 -#, fuzzy msgid "Contact row" -msgstr "Kontakt" +msgstr "Kontaktreihe" #: ../data/gui/gajim_themes_window.ui.h:7 msgid "Font style:" @@ -1388,15 +1193,14 @@ msgid "Gone" msgstr "Weg" #: ../data/gui/gajim_themes_window.ui.h:10 -#, fuzzy msgid "Group row" -msgstr "Gruppe" +msgstr "Gruppenreihe" #: ../data/gui/gajim_themes_window.ui.h:11 ../src/common/pep.py:150 msgid "Inactive" msgstr "Inaktiv" -#: ../data/gui/gajim_themes_window.ui.h:12 ../src/chat_control.py:943 +#: ../data/gui/gajim_themes_window.ui.h:12 ../src/chat_control.py:1030 msgid "Italic" msgstr "Kursiv" @@ -1460,47 +1264,52 @@ msgstr "Chatraum _verwalten" msgid "_Minimize on close" msgstr "Beim Schließen _minimieren" -#: ../data/gui/gc_occupants_menu.ui.h:1 +#: ../data/gui/gc_control_popup_menu.ui.h:9 +#, fuzzy +msgid "_Request Voice" +msgstr "_Stimme verleihen" + +#: ../data/gui/gc_occupants_menu.ui.h:2 msgid "Mo_derator" msgstr "Mo_derator" -#: ../data/gui/gc_occupants_menu.ui.h:2 +#: ../data/gui/gc_occupants_menu.ui.h:3 msgid "Occupant Actions" msgstr "Benutzeraktionen" -#: ../data/gui/gc_occupants_menu.ui.h:3 +#: ../data/gui/gc_occupants_menu.ui.h:4 msgid "Send _File" msgstr "_Datei senden" -#: ../data/gui/gc_occupants_menu.ui.h:4 +#: ../data/gui/gc_occupants_menu.ui.h:5 msgid "_Add to Roster" msgstr "Zur Kont_aktliste hinzufügen" -#: ../data/gui/gc_occupants_menu.ui.h:5 +#: ../data/gui/gc_occupants_menu.ui.h:6 msgid "_Admin" msgstr "_Admin" -#: ../data/gui/gc_occupants_menu.ui.h:6 +#: ../data/gui/gc_occupants_menu.ui.h:7 msgid "_Ban" msgstr "Ver_bannen" -#: ../data/gui/gc_occupants_menu.ui.h:9 +#: ../data/gui/gc_occupants_menu.ui.h:10 msgid "_Kick" msgstr "_Rausschmeißen" -#: ../data/gui/gc_occupants_menu.ui.h:10 +#: ../data/gui/gc_occupants_menu.ui.h:11 msgid "_Member" msgstr "_Mitglied" -#: ../data/gui/gc_occupants_menu.ui.h:11 +#: ../data/gui/gc_occupants_menu.ui.h:12 msgid "_Owner" msgstr "_Besitzer" -#: ../data/gui/gc_occupants_menu.ui.h:12 +#: ../data/gui/gc_occupants_menu.ui.h:13 msgid "_Send Private Message" msgstr "Private Nachricht _senden" -#: ../data/gui/gc_occupants_menu.ui.h:14 +#: ../data/gui/gc_occupants_menu.ui.h:15 msgid "_Voice" msgstr "_Stimme verleihen" @@ -1546,21 +1355,15 @@ msgstr "" msgid "Welcome to Gajim History Logs Manager" msgstr "Willkommen im Gajim-Verlaufsmanager" -#. Change label for accept_button to action name instead of 'OK'. -#: ../data/gui/history_manager.ui.h:4 ../src/dialogs.py:3224 -#: ../src/dialogs.py:3321 -msgid "Delete" -msgstr "Löschen" - -#: ../data/gui/history_manager.ui.h:5 +#: ../data/gui/history_manager.ui.h:4 msgid "Export" msgstr "Export" -#: ../data/gui/history_manager.ui.h:6 +#: ../data/gui/history_manager.ui.h:5 msgid "Gajim History Logs Manager" msgstr "Gajim-Verlaufsmanager" -#: ../data/gui/history_manager.ui.h:7 +#: ../data/gui/history_manager.ui.h:6 msgid "" "This log manager is not intended for log viewing. If you are looking for " "such functionality, use the history window instead.\n" @@ -1575,28 +1378,25 @@ msgstr "" "Benutzen Sie dieses Programm, um Logs zu löschen oder zu exportieren. Sie " "können links Logeinträge auswählen und unten die Datenbank durchsuchen." -#: ../data/gui/history_manager.ui.h:10 +#: ../data/gui/history_manager.ui.h:9 msgid "_Search Database" msgstr "Durch_suche Datenbank" #: ../data/gui/history_window.ui.h:1 -#, fuzzy msgid "All Chat Histories" -msgstr "Alle Status" +msgstr "Alle Chatverläufe" #: ../data/gui/history_window.ui.h:2 ../src/history_window.py:323 msgid "Conversation History" msgstr "Unterhaltungsverlauf" #: ../data/gui/history_window.ui.h:3 -#, fuzzy msgid "Enter JID or Contact name" -msgstr "Name des Kontakts" +msgstr "Bitte JID oder Kontaktnamen eingeben" #: ../data/gui/history_window.ui.h:4 -#, fuzzy msgid "Groupchat Histories" -msgstr "Gruppenchat" +msgstr "Gruppenchatverläufe" #: ../data/gui/history_window.ui.h:5 msgid "Search:" @@ -1612,8 +1412,9 @@ msgid "approve" msgstr "" #: ../data/gui/item_archiving_preferences_window.ui.h:2 +#, fuzzy msgid "body" -msgstr "" +msgstr "Jeder" #: ../data/gui/item_archiving_preferences_window.ui.h:3 msgid "concede" @@ -1632,13 +1433,11 @@ msgid "forbid" msgstr "" #: ../data/gui/item_archiving_preferences_window.ui.h:7 -#: ../src/gajim-remote-plugin.py:213 ../src/gajim-remote.py:229 +#: ../src/gajim-remote.py:229 msgid "jid" msgstr "Jabber-ID" #: ../data/gui/item_archiving_preferences_window.ui.h:8 -#: ../src/gajim-remote-plugin.py:107 ../src/gajim-remote-plugin.py:128 -#: ../src/gajim-remote-plugin.py:142 ../src/gajim-remote-plugin.py:153 #: ../src/gajim-remote.py:110 ../src/gajim-remote.py:133 #: ../src/gajim-remote.py:144 ../src/gajim-remote.py:158 #: ../src/gajim-remote.py:169 ../src/gajim-remote.py:282 @@ -1671,26 +1470,22 @@ msgid "stream" msgstr "" #: ../data/gui/join_groupchat_window.ui.h:2 -#, fuzzy msgid "Bro_wse Rooms" -msgstr "_Durchsuche" +msgstr "Räume _Durchsuchen" -#: ../data/gui/join_groupchat_window.ui.h:3 ../src/dialogs.py:2196 +#: ../data/gui/join_groupchat_window.ui.h:3 ../src/dialogs.py:2298 msgid "Join Group Chat" msgstr "Chatraum betreten" #: ../data/gui/join_groupchat_window.ui.h:4 -#, fuzzy msgid "Join this room _automatically when I connect" -msgstr "Betritt diesen Chatraum automatisch, wenn ich mich verbinde" +msgstr "Betrete diesen Chatraum _automatisch, wenn ich mich verbinde" #: ../data/gui/join_groupchat_window.ui.h:5 -#: ../data/gui/manage_bookmarks_window.ui.h:5 msgid "Nickname:" msgstr "Spitzname:" #: ../data/gui/join_groupchat_window.ui.h:6 -#: ../data/gui/manage_bookmarks_window.ui.h:6 msgid "Password:" msgstr "Passwort:" @@ -1699,28 +1494,26 @@ msgid "Recently:" msgstr "Kürzlich:" #: ../data/gui/join_groupchat_window.ui.h:8 -#: ../data/gui/manage_bookmarks_window.ui.h:8 msgid "Room:" msgstr "Chatraum:" -#: ../data/gui/join_groupchat_window.ui.h:9 -#: ../data/gui/manage_bookmarks_window.ui.h:9 ../src/config.py:1807 +#: ../data/gui/join_groupchat_window.ui.h:9 ../src/config.py:1816 msgid "Server:" msgstr "Server:" # TODO: Synchronize with other strings concerning bookmarks #: ../data/gui/join_groupchat_window.ui.h:10 -#, fuzzy msgid "_Bookmark this room" -msgstr "Diesen Chatraum merken (Strg+B)" +msgstr "Diesen _Chatraum merken" -#: ../data/gui/join_groupchat_window.ui.h:11 ../src/disco.py:1359 +#: ../data/gui/join_groupchat_window.ui.h:11 ../src/disco.py:1361 #: ../src/disco.py:1804 msgid "_Join" msgstr "_Betreten" #: ../data/gui/manage_bookmarks_window.ui.h:1 -msgid "Auto join" +#, fuzzy +msgid "A_uto join" msgstr "Automatisch verbinden" #: ../data/gui/manage_bookmarks_window.ui.h:2 @@ -1732,15 +1525,22 @@ msgid "Manage Bookmarks" msgstr "Chatraum-Lesezeichen" #: ../data/gui/manage_bookmarks_window.ui.h:4 -msgid "Minimize on Auto Join" +#, fuzzy +msgid "Minimi_ze on Auto Join" msgstr "Minimieren bei automatischem Beitritt" -#: ../data/gui/manage_bookmarks_window.ui.h:7 -msgid "Print status:" +#: ../data/gui/manage_bookmarks_window.ui.h:5 +#, fuzzy +msgid "Pr_int status:" msgstr "Status anzeigen:" +#: ../data/gui/manage_bookmarks_window.ui.h:6 +msgid "Roo_m:" +msgstr "" + #: ../data/gui/manage_bookmarks_window.ui.h:10 -msgid "Title:" +#, fuzzy +msgid "_Title:" msgstr "Titel:" #: ../data/gui/manage_pep_services_window.ui.h:1 @@ -1761,15 +1561,11 @@ msgstr "Einstellungen" #: ../data/gui/manage_proxies_window.ui.h:3 msgid "BOSH" -msgstr "" +msgstr "BOSH" #: ../data/gui/manage_proxies_window.ui.h:4 -#, fuzzy msgid "HTTP Connect" -msgstr "" -"HTTP-Verbindung\n" -"SOCKS5\n" -"BOSH" +msgstr "HTTP-Verbindung" #: ../data/gui/manage_proxies_window.ui.h:5 msgid "Manage Proxy Profiles" @@ -1789,7 +1585,7 @@ msgstr "Proxy-_Port:" #: ../data/gui/manage_proxies_window.ui.h:9 msgid "SOCKS5" -msgstr "" +msgstr "SOCKS5" #: ../data/gui/manage_proxies_window.ui.h:10 msgid "Use HTTP prox_y" @@ -1844,59 +1640,62 @@ msgstr "_Einstellen" #: ../data/gui/plugins_window.ui.h:6 #, fuzzy -msgid "Descrition:" +msgid "Description:" msgstr "Beschreibung: " #: ../data/gui/plugins_window.ui.h:7 #, fuzzy +msgid "Descrition:" +msgstr "Beschreibung: " + +#: ../data/gui/plugins_window.ui.h:8 +#, fuzzy msgid "Homepage:" msgstr "Homepage:" -#: ../data/gui/plugins_window.ui.h:8 +#: ../data/gui/plugins_window.ui.h:9 msgid "Install" msgstr "" -#: ../data/gui/plugins_window.ui.h:9 +#: ../data/gui/plugins_window.ui.h:10 #, fuzzy msgid "Installed" msgstr "Steht still" -#: ../data/gui/plugins_window.ui.h:10 +#: ../data/gui/plugins_window.ui.h:11 msgid "" "Plug-in decription should be displayed here. This text will be erased during " "PluginsWindow initialization." msgstr "" -#: ../data/gui/plugins_window.ui.h:11 +#: ../data/gui/plugins_window.ui.h:12 msgid "Plugins" msgstr "" -#: ../data/gui/plugins_window.ui.h:12 +#: ../data/gui/plugins_window.ui.h:13 msgid "Uninstall" msgstr "" -#: ../data/gui/plugins_window.ui.h:13 +#: ../data/gui/plugins_window.ui.h:14 #, fuzzy msgid "Version:" msgstr "GTK+-Version:" -#: ../data/gui/plugins_window.ui.h:14 +#: ../data/gui/plugins_window.ui.h:15 msgid "button" msgstr "" -#: ../data/gui/plugins_window.ui.h:15 +#: ../data/gui/plugins_window.ui.h:16 msgid "homepage url" msgstr "" #: ../data/gui/popup_notification_window.ui.h:1 -#, fuzzy msgid "Event Type" -msgstr "Ereignis" +msgstr "Ereignisarten" #: ../data/gui/popup_notification_window.ui.h:2 -#, fuzzy msgid "Event desc" -msgstr "Ereignis" +msgstr "Ereignisbeschreibung" #: ../data/gui/preferences_window.ui.h:1 msgid "Advanced Configuration Editor" @@ -1907,9 +1706,8 @@ msgid "Applications" msgstr "Anwendungen" #: ../data/gui/preferences_window.ui.h:3 -#, fuzzy msgid "Audio" -msgstr "Aktionen" +msgstr "Audio" #: ../data/gui/preferences_window.ui.h:4 msgid "Auto Status" @@ -1928,9 +1726,8 @@ msgid "Chat state notifications" msgstr "Chatstatus-Benachrichtigungen" #: ../data/gui/preferences_window.ui.h:8 -#, fuzzy msgid "Connection" -msgstr "Ereignisse" +msgstr "Verbindung" #. a header for custom browser/client/file manager. so translate sth like: Custom Settings #: ../data/gui/preferences_window.ui.h:10 @@ -1951,12 +1748,16 @@ msgstr "Voreingestellte Statusnachrichten" #: ../data/gui/preferences_window.ui.h:15 msgid "Privacy" -msgstr "Privatsphäre" +msgstr "Privatsphäre" #: ../data/gui/preferences_window.ui.h:16 msgid "Roster Appearance" msgstr "Aussehen der Kontaktliste" +#: ../data/gui/preferences_window.ui.h:17 +msgid "Sounds" +msgstr "Klänge" + #: ../data/gui/preferences_window.ui.h:18 msgid "Status Messages" msgstr "Statusnachrichten" @@ -1966,9 +1767,8 @@ msgid "Themes" msgstr "Themen" #: ../data/gui/preferences_window.ui.h:20 -#, fuzzy msgid "Video" -msgstr "Zweiter Vorname:" +msgstr "Video" #: ../data/gui/preferences_window.ui.h:21 msgid "Visual Notifications" @@ -1976,141 +1776,132 @@ msgstr "Visuelle Benachrichtigungen" #: ../data/gui/preferences_window.ui.h:22 msgid "(example: stunserver.org)" -msgstr "" +msgstr "(Beispiel: stunserver.org)" #: ../data/gui/preferences_window.ui.h:23 msgid "Advanced" msgstr "Erweitert" #: ../data/gui/preferences_window.ui.h:24 -msgid "Advanced..." -msgstr "Erweitert …" +msgid "All chat states" +msgstr "Alle Chatstatus" #: ../data/gui/preferences_window.ui.h:25 -#, fuzzy -msgid "All chat states" -msgstr "Alle Status" - -#: ../data/gui/preferences_window.ui.h:26 msgid "Allow _OS information to be sent" msgstr "Erlaube das Senden von Betriebssystem-Inf_ormation" -#: ../data/gui/preferences_window.ui.h:27 -#, fuzzy +#: ../data/gui/preferences_window.ui.h:26 msgid "Allow my _idle time to be sent" -msgstr "Erlaube das Senden von Betriebssystem-Inf_ormation" +msgstr "Erlaube das Senden meiner Ze_it der Untätigkeit" -#: ../data/gui/preferences_window.ui.h:28 +#: ../data/gui/preferences_window.ui.h:27 msgid "Allow popup/notifications when I'm _away/na/busy/invisible" msgstr "" "Popups/Benachrichtigungen zulassen, wenn ich _abwesend/nicht verfügbar/" "beschäftigt/unsichtbar bin" -#: ../data/gui/preferences_window.ui.h:29 +#: ../data/gui/preferences_window.ui.h:28 msgid "Allow sound when I'm _busy" msgstr "Soundausgabe erlauben, wenn ich _beschäftigt bin" -#: ../data/gui/preferences_window.ui.h:30 -#, fuzzy +#: ../data/gui/preferences_window.ui.h:29 msgid "Always" -msgstr "Abwesend" +msgstr "Immer" -#: ../data/gui/preferences_window.ui.h:31 +#: ../data/gui/preferences_window.ui.h:30 msgid "Ask status message when I:" msgstr "Erfrage Statusnachricht beim:" -#: ../data/gui/preferences_window.ui.h:32 ../src/features_window.py:105 +#: ../data/gui/preferences_window.ui.h:31 ../src/features_window.py:106 msgid "Audio / Video" msgstr "Audio / Video" -#: ../data/gui/preferences_window.ui.h:33 +#: ../data/gui/preferences_window.ui.h:32 msgid "Audio input device" -msgstr "" +msgstr "Audioaufnahmegerät" + +#: ../data/gui/preferences_window.ui.h:33 +msgid "Audio output device" +msgstr "Audioausgabegerät" #: ../data/gui/preferences_window.ui.h:34 -msgid "Audio output device" -msgstr "" - -#: ../data/gui/preferences_window.ui.h:35 msgid "Chat message:" msgstr "Chat-Nachricht:" -#: ../data/gui/preferences_window.ui.h:36 +#: ../data/gui/preferences_window.ui.h:35 msgid "Check on startup if Gajim is the _default Jabber client" msgstr "Beim Starten überprüfen, ob Gajim der _Standard-Jabber-Client ist" -#: ../data/gui/preferences_window.ui.h:37 -#, fuzzy +#: ../data/gui/preferences_window.ui.h:36 msgid "Composing only" -msgstr "Erstellen" +msgstr "Nur verfassen" -#: ../data/gui/preferences_window.ui.h:38 +#: ../data/gui/preferences_window.ui.h:37 msgid "Configure color and font of the interface" msgstr "Farben und Schriftarten für die Oberfläche konfigurieren" -#: ../data/gui/preferences_window.ui.h:39 +#: ../data/gui/preferences_window.ui.h:38 msgid "Contact's message:" msgstr "Nachricht des Kontakts:" -#: ../data/gui/preferences_window.ui.h:40 +#: ../data/gui/preferences_window.ui.h:39 msgid "Contact's nickname:" msgstr "Spitzname des Kontakts:" -#: ../data/gui/preferences_window.ui.h:41 +#: ../data/gui/preferences_window.ui.h:40 msgid "Custom" msgstr "Benutzerdefiniert" -#: ../data/gui/preferences_window.ui.h:42 +#: ../data/gui/preferences_window.ui.h:41 msgid "Detached roster with chat grouped by account" -msgstr "" +msgstr "Abgelöste Kontaktliste mit Chat gruppiert nach Konto" + +#: ../data/gui/preferences_window.ui.h:42 +msgid "Detached roster with chat grouped by type" +msgstr "Abgelöste Kontaktliste mit Chat gruppiert nach Typ" #: ../data/gui/preferences_window.ui.h:43 -msgid "Detached roster with chat grouped by type" -msgstr "" +msgid "Detached roster with detached chats" +msgstr "Abgelöste Kontaktliste mit abgelösten Chats" #: ../data/gui/preferences_window.ui.h:44 -msgid "Detached roster with detached chats" -msgstr "" - -#: ../data/gui/preferences_window.ui.h:45 msgid "Detached roster with single chat" -msgstr "" +msgstr "Abgelöste Kontaktliste mit einzigem Chat" -#: ../data/gui/preferences_window.ui.h:46 ../src/config.py:170 -#: ../src/config.py:665 +#: ../data/gui/preferences_window.ui.h:45 ../src/config.py:170 +#: ../src/config.py:672 msgid "Disabled" msgstr "Deaktiviert" -#: ../data/gui/preferences_window.ui.h:47 +#: ../data/gui/preferences_window.ui.h:46 msgid "Display _activity of contacts in roster" msgstr "_Aktivitäten von Kontakten in der Kontaktliste anzeigen" -#: ../data/gui/preferences_window.ui.h:48 +#: ../data/gui/preferences_window.ui.h:47 msgid "Display _extra email details" msgstr "Zusätzliche _E-Mail-Details anzeigen" -#: ../data/gui/preferences_window.ui.h:49 -#, fuzzy +#: ../data/gui/preferences_window.ui.h:48 msgid "Display _location of contacts in roster" -msgstr "_Stimmungen anzeigen" +msgstr "Position der Kontakte in Kontakt_leiste anzeigen" -#: ../data/gui/preferences_window.ui.h:50 +#: ../data/gui/preferences_window.ui.h:49 msgid "Display _tunes of contacts in roster" msgstr "Die gerade abgespielten Musik_titel anzeigen" -#: ../data/gui/preferences_window.ui.h:51 +#: ../data/gui/preferences_window.ui.h:50 msgid "Display a_vatars of contacts in roster" msgstr "A_vatare der Kontakte in der Kontaktliste anzeigen" -#: ../data/gui/preferences_window.ui.h:52 +#: ../data/gui/preferences_window.ui.h:51 msgid "Display m_ood of contacts in roster" msgstr "_Stimmungen anzeigen" -#: ../data/gui/preferences_window.ui.h:53 +#: ../data/gui/preferences_window.ui.h:52 msgid "Display status _messages of contacts in roster" msgstr "Status_nachrichten anzeigen" -#: ../data/gui/preferences_window.ui.h:54 +#: ../data/gui/preferences_window.ui.h:53 msgid "" "Gajim can send and receive meta-information related to a conversation you " "may have with a contact. Here you can specify which chatstates you want to " @@ -2120,7 +1911,7 @@ msgstr "" "versenden. Hier können Sie festlegen, welche Chatstatus-Benachrichtigungen " "in Ihrem Chatfenster anzeigt werden sollen." -#: ../data/gui/preferences_window.ui.h:55 +#: ../data/gui/preferences_window.ui.h:54 msgid "" "Gajim can send and receive meta-information related to a conversation you " "may have with a contact. Here you can specify which chatstates you want to " @@ -2130,7 +1921,7 @@ msgstr "" "versenden. Hier können Sie festlegen, welche Chatstatus-Benachrichtigungen " "Sie Ihrem Gegenüber senden möchten." -#: ../data/gui/preferences_window.ui.h:56 +#: ../data/gui/preferences_window.ui.h:55 msgid "" "Gajim will notify you via a popup window in the bottom right of the screen " "about contacts that just signed out" @@ -2138,11 +1929,11 @@ msgstr "" "Gajim informiert Sie über ein Popup-Fenster in der rechten unteren " "Bildschirmecke über Kontakte, die sich gerade abgemeldet haben." -#: ../data/gui/preferences_window.ui.h:58 +#: ../data/gui/preferences_window.ui.h:57 msgid "Hide all buttons in chat windows" msgstr "Versteckt alle Schaltflächen im Chatfenster" -#: ../data/gui/preferences_window.ui.h:59 +#: ../data/gui/preferences_window.ui.h:58 msgid "" "If checked, Gajim will allow others to detect the operation system you are " "using" @@ -2150,7 +1941,7 @@ msgstr "" "Falls aktiviert, erlaubt Gajim Ihrem Gegenüber, Ihr Betriebssystem " "festzustellen." -#: ../data/gui/preferences_window.ui.h:60 +#: ../data/gui/preferences_window.ui.h:59 msgid "" "If checked, Gajim will also include information about the sender of the new " "emails" @@ -2158,14 +1949,14 @@ msgstr "" "Falls aktiviert, fügt Gajim auch Informationen über den Absender neuer E-" "Mails hinzu." -#: ../data/gui/preferences_window.ui.h:61 +#: ../data/gui/preferences_window.ui.h:60 msgid "" "If checked, Gajim will change status to Away when the computer is unused." msgstr "" "Falls aktiviert, wird der Status in Abwesend geändert, wenn der Computer " "nicht genutzt wird." -#: ../data/gui/preferences_window.ui.h:62 +#: ../data/gui/preferences_window.ui.h:61 msgid "" "If checked, Gajim will change status to Not Available when the computer has " "not been used even longer" @@ -2173,7 +1964,7 @@ msgstr "" "Falls aktiviert, wird der Status in Nicht Verfügbar geändert, wenn der " "Computer längere Zeit nicht genutzt wird." -#: ../data/gui/preferences_window.ui.h:63 +#: ../data/gui/preferences_window.ui.h:62 msgid "" "If checked, Gajim will display avatars of contacts in roster window and in " "group chats" @@ -2181,7 +1972,7 @@ msgstr "" "Falls aktiviert, werden die Avatare der Kontakte in der Kontaktliste und in " "Chaträumen eingeblendet." -#: ../data/gui/preferences_window.ui.h:64 +#: ../data/gui/preferences_window.ui.h:63 msgid "" "If checked, Gajim will display status messages of contacts under the contact " "name in roster window and in group chats" @@ -2189,36 +1980,34 @@ msgstr "" "Falls aktiviert, wird unter dem Namen jeden Kontaktes in der Kontaktliste " "und in Chaträumen die Statusnachricht angezeigt." -#: ../data/gui/preferences_window.ui.h:65 +#: ../data/gui/preferences_window.ui.h:64 msgid "" "If checked, Gajim will display the activity of contacts in the roster window" msgstr "" "Falls aktiviert, wird die Aktivität der Kontakte in der Kontaktliste " "angezeigt." -#: ../data/gui/preferences_window.ui.h:66 -#, fuzzy +#: ../data/gui/preferences_window.ui.h:65 msgid "" "If checked, Gajim will display the location of contacts in the roster window" msgstr "" -"Falls aktiviert, wird die Stimmung der Kontakte in der Kontaktliste " -"angezeigt." +"Falls aktiviert, wird die Position der Kontakte in der Kontaktliste angezeigt" -#: ../data/gui/preferences_window.ui.h:67 +#: ../data/gui/preferences_window.ui.h:66 msgid "" "If checked, Gajim will display the mood of contacts in the roster window" msgstr "" "Falls aktiviert, wird die Stimmung der Kontakte in der Kontaktliste " "angezeigt." -#: ../data/gui/preferences_window.ui.h:68 +#: ../data/gui/preferences_window.ui.h:67 msgid "" "If checked, Gajim will display the tunes of contacts in the roster window" msgstr "" "Falls aktiviert, wird der gerade abgespielte Musiktitel der Kontakte in der " "Kontaktliste angezeigt." -#: ../data/gui/preferences_window.ui.h:69 +#: ../data/gui/preferences_window.ui.h:68 msgid "" "If checked, Gajim will highlight spelling errors in input fields of chat " "windows. If no language is explicitly set via right click on the input " @@ -2229,7 +2018,7 @@ msgstr "" "Rechtsklick), wird die Standardsprache für diesen Kontakt oder Chatraum " "verwendet." -#: ../data/gui/preferences_window.ui.h:70 +#: ../data/gui/preferences_window.ui.h:69 msgid "" "If checked, Gajim will ignore incoming events from unauthorized contacts. " "Use with caution, because it blocks all messages from any contact that is " @@ -2239,7 +2028,7 @@ msgstr "" "Kontakten ignoriert. Vorsicht: Sie können nur noch Nachrichten von Kontakten " "empfangen, die in Ihrer Kontaktliste sind." -#: ../data/gui/preferences_window.ui.h:71 +#: ../data/gui/preferences_window.ui.h:70 msgid "" "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 " @@ -2249,7 +2038,7 @@ msgstr "" "Bitte bedenken Sie, dass bei der Benutzung von ESession-Verschlüsselung der " "Chatpartner zustimmen muss; ansonsten wird nichts aufgezeichnet." -#: ../data/gui/preferences_window.ui.h:72 +#: ../data/gui/preferences_window.ui.h:71 msgid "" "If checked, Gajim will show a notification when a new e-mail is received via " "GMail" @@ -2257,7 +2046,7 @@ msgstr "" "Falls aktiviert, wird eine Benachrichtigung angezeigt, wenn eine neue E-Mail " "über Google-Mail empfangen wurde." -#: ../data/gui/preferences_window.ui.h:73 +#: ../data/gui/preferences_window.ui.h:72 msgid "" "If checked, Gajim will use protocol-specific status icons. (eg. A contact " "from MSN will have the equivalent msn icon for status online, away, busy, " @@ -2267,7 +2056,7 @@ msgstr "" "Beispiel wird für einen MSN-Kontakt das jeweilige MSN-Symbol für den Status " "\"Anwesend\", \"Abwesend\", \"Beschäftigt\", etc. angezeigt.)" -#: ../data/gui/preferences_window.ui.h:74 +#: ../data/gui/preferences_window.ui.h:73 msgid "" "If enabled, Gajim will not ask for a status message. The specified default " "message will be used instead." @@ -2275,7 +2064,7 @@ msgstr "" "Falls aktiviert, werden Sie nicht nach einer Statusnachricht gefragt. Die " "Standardnachricht wird benutzt." -#: ../data/gui/preferences_window.ui.h:75 +#: ../data/gui/preferences_window.ui.h:74 msgid "" "If not disabled, Gajim will replace ascii smilies like ':)' with equivalent " "animated or static graphical emoticons" @@ -2283,6 +2072,11 @@ msgstr "" "Falls aktiviert, werden ASCII-Smilies wie \":)\" mit äquivalenten " "graphischen Emoticons ersetzt." +#: ../data/gui/preferences_window.ui.h:75 +#, fuzzy +msgid "Last state" +msgstr "Letzter Status: %s" + #: ../data/gui/preferences_window.ui.h:76 msgid "Log _encrypted chat session" msgstr "V_erschlüsselte Sitzungen aufzeichnen" @@ -2296,9 +2090,8 @@ msgid "Ma_nage..." msgstr "Verwalte_n …" #: ../data/gui/preferences_window.ui.h:79 -#, fuzzy msgid "Never" -msgstr "Server" +msgstr "Nie" #: ../data/gui/preferences_window.ui.h:80 msgid "Notifications" @@ -2313,21 +2106,16 @@ msgid "Notify me about contacts that sign _out" msgstr "Benachrichtigen, wenn sich ein K_ontakt abmeldet" #: ../data/gui/preferences_window.ui.h:83 -#, fuzzy msgid "Notify me about it" -msgstr "Benachrichtigen, wenn sich ein K_ontakt abmeldet" +msgstr "Benachrichtige mich darüber" #: ../data/gui/preferences_window.ui.h:84 msgid "Notify on new _GMail email" msgstr "Bei neuen E-Mails bei _Google-Mail benachrichtigen" #: ../data/gui/preferences_window.ui.h:85 -#, fuzzy msgid "Only when pending events" -msgstr "" -"Niemals\n" -"Nur bei neuen Ereignissen\n" -"Immer" +msgstr "Nur bei anhängenden Ereignissen" #: ../data/gui/preferences_window.ui.h:86 msgid "Personal Events" @@ -2339,7 +2127,7 @@ msgstr "Klänge ab_spielen" #: ../data/gui/preferences_window.ui.h:88 msgid "Pop it up" -msgstr "" +msgstr "Aufpoppen" #: ../data/gui/preferences_window.ui.h:89 msgid "Preferences" @@ -2350,20 +2138,20 @@ msgid "" "STUN server hostname. If none given, Gajim will try\n" "to discover one from server." msgstr "" +"STUN Server Rechnername. Falls nicht definiert, wird Gajim versuchen\n" +"einen vom Server zu ermitteln." #: ../data/gui/preferences_window.ui.h:92 -#, fuzzy msgid "STUN server:" -msgstr "Server:" +msgstr "STUN Server:" #: ../data/gui/preferences_window.ui.h:93 msgid "Show notification area icon:" msgstr "" #: ../data/gui/preferences_window.ui.h:94 -#, fuzzy msgid "Show only in roster" -msgstr "Zeige Ereignis in der Kontaktli_ste" +msgstr "Nur in der Kontaktliste zeigen" #: ../data/gui/preferences_window.ui.h:95 msgid "Sign _in" @@ -2375,7 +2163,7 @@ msgstr "a_bmelden" #: ../data/gui/preferences_window.ui.h:97 msgid "Single window for everything" -msgstr "" +msgstr "Ein Fenster für alles" #: ../data/gui/preferences_window.ui.h:98 msgid "" @@ -2390,7 +2178,7 @@ msgstr "" msgid "Sort contacts by status" msgstr "Kontakte nach Status sortieren" -#: ../data/gui/preferences_window.ui.h:100 ../src/config.py:391 +#: ../data/gui/preferences_window.ui.h:100 ../src/config.py:400 msgid "Status" msgstr "Status" @@ -2439,7 +2227,7 @@ msgstr "_Transport-Symbole verwenden" #: ../data/gui/preferences_window.ui.h:111 #, fuzzy msgid "Use default applications" -msgstr "Immer OS/X-Standardprogramme verwenden" +msgstr "Immer KDE Standardanwendungen verwenden" #: ../data/gui/preferences_window.ui.h:112 msgid "Use system _default" @@ -2447,19 +2235,19 @@ msgstr "Benutze System-_Voreinstellung" #: ../data/gui/preferences_window.ui.h:113 msgid "Video framerate" -msgstr "" +msgstr "Video Frame-Rate" #: ../data/gui/preferences_window.ui.h:114 msgid "Video input device" -msgstr "" +msgstr "Videoaufnahmegeräte" #: ../data/gui/preferences_window.ui.h:115 msgid "Video output device" -msgstr "" +msgstr "Videoausgabegerät" #: ../data/gui/preferences_window.ui.h:116 msgid "Video size" -msgstr "" +msgstr "Videogröße" #: ../data/gui/preferences_window.ui.h:117 msgid "When new event is received:" @@ -2531,32 +2319,37 @@ msgid "_Send chat state notifications:" msgstr "Benachrichtigungen über den Chatstatus _senden:" #: ../data/gui/preferences_window.ui.h:134 +#, fuzzy +msgid "_Show roster on startup:" +msgstr "_Kontaktliste anzeigen" + +#: ../data/gui/preferences_window.ui.h:135 msgid "_Status message:" msgstr "_Statusnachricht:" -#: ../data/gui/preferences_window.ui.h:135 +#: ../data/gui/preferences_window.ui.h:136 msgid "_URL highlight:" msgstr "_URL hervorheben:" -#: ../data/gui/preferences_window.ui.h:136 +#: ../data/gui/preferences_window.ui.h:137 msgid "_Window behavior:" msgstr "_Fensterverhalten:" -#: ../data/gui/preferences_window.ui.h:137 +#: ../data/gui/preferences_window.ui.h:138 msgid "in _group chats" msgstr "in Chat_räumen" -#: ../data/gui/preferences_window.ui.h:138 +#: ../data/gui/preferences_window.ui.h:139 msgid "in _roster" msgstr "in der _Kontaktliste" -#: ../data/gui/preferences_window.ui.h:139 +#: ../data/gui/preferences_window.ui.h:140 msgid "minutes" msgstr "Minuten" #: ../data/gui/privacy_lists_window.ui.h:1 msgid "Privacy Lists:" -msgstr "Privatsphären-Liste:" +msgstr "Privatsphären-Listen:" #: ../data/gui/privacy_list_window.ui.h:1 msgid "Add / Edit a rule" @@ -2602,7 +2395,7 @@ msgstr "der Jabber-ID:" msgid "Order:" msgstr "Reihenfolge:" -#: ../data/gui/privacy_list_window.ui.h:12 ../src/dialogs.py:3802 +#: ../data/gui/privacy_list_window.ui.h:12 ../src/dialogs.py:3936 msgid "Privacy List" msgstr "Privatsphären-Liste" @@ -2615,24 +2408,20 @@ msgid "all in the group" msgstr "allen in der Gruppe" #: ../data/gui/privacy_list_window.ui.h:15 -#, fuzzy msgid "both" msgstr "Beide" #: ../data/gui/privacy_list_window.ui.h:16 -#, fuzzy msgid "from" -msgstr "Von" +msgstr "von" #: ../data/gui/privacy_list_window.ui.h:17 -#, fuzzy msgid "none" -msgstr "Eins" +msgstr "Niemand" #: ../data/gui/privacy_list_window.ui.h:18 -#, fuzzy msgid "to" -msgstr "Zwei" +msgstr "zu" #: ../data/gui/privacy_list_window.ui.h:19 msgid "to send me messages" @@ -2675,108 +2464,108 @@ msgid "Company:" msgstr "Firma:" #: ../data/gui/profile_window.ui.h:6 -#: ../data/gui/vcard_information_window.ui.h:9 +#: ../data/gui/vcard_information_window.ui.h:10 msgid "Country:" msgstr "Land:" #: ../data/gui/profile_window.ui.h:7 -#: ../data/gui/vcard_information_window.ui.h:10 +#: ../data/gui/vcard_information_window.ui.h:11 msgid "Department:" msgstr "Abteilung:" #: ../data/gui/profile_window.ui.h:8 -#: ../data/gui/vcard_information_window.ui.h:11 +#: ../data/gui/vcard_information_window.ui.h:12 msgid "E-Mail:" msgstr "E-Mail:" #: ../data/gui/profile_window.ui.h:9 -#: ../data/gui/vcard_information_window.ui.h:12 +#: ../data/gui/vcard_information_window.ui.h:13 msgid "Extra Address:" msgstr "Zusatzadresse:" #. Family Name #: ../data/gui/profile_window.ui.h:11 -#: ../data/gui/vcard_information_window.ui.h:14 +#: ../data/gui/vcard_information_window.ui.h:15 msgid "Family:" msgstr "Nachname:" #: ../data/gui/profile_window.ui.h:12 -#: ../data/gui/vcard_information_window.ui.h:15 +#: ../data/gui/vcard_information_window.ui.h:16 msgid "Full Name" msgstr "Vollständiger Name" #. Given Name #: ../data/gui/profile_window.ui.h:14 -#: ../data/gui/vcard_information_window.ui.h:17 +#: ../data/gui/vcard_information_window.ui.h:18 msgid "Given:" msgstr "Vorname:" #: ../data/gui/profile_window.ui.h:15 -#: ../data/gui/vcard_information_window.ui.h:18 +#: ../data/gui/vcard_information_window.ui.h:19 msgid "Homepage:" msgstr "Homepage:" #. Middle Name #: ../data/gui/profile_window.ui.h:17 -#: ../data/gui/vcard_information_window.ui.h:21 +#: ../data/gui/vcard_information_window.ui.h:22 msgid "Middle:" msgstr "Zweiter Vorname:" #: ../data/gui/profile_window.ui.h:18 -#: ../data/gui/vcard_information_window.ui.h:22 +#: ../data/gui/vcard_information_window.ui.h:23 msgid "Name:" msgstr "Name:" #: ../data/gui/profile_window.ui.h:19 -#: ../data/gui/vcard_information_window.ui.h:23 +#: ../data/gui/vcard_information_window.ui.h:24 msgid "Nickname:" msgstr "Spitzname:" #: ../data/gui/profile_window.ui.h:20 -#: ../data/gui/vcard_information_window.ui.h:24 +#: ../data/gui/vcard_information_window.ui.h:25 msgid "Phone No.:" msgstr "Telefonnummer:" #: ../data/gui/profile_window.ui.h:21 -#: ../data/gui/vcard_information_window.ui.h:25 +#: ../data/gui/vcard_information_window.ui.h:26 msgid "Position:" msgstr "Position:" #: ../data/gui/profile_window.ui.h:22 -#: ../data/gui/vcard_information_window.ui.h:26 +#: ../data/gui/vcard_information_window.ui.h:27 msgid "Postal Code:" msgstr "Postleitzahl:" #. Prefix in Name #: ../data/gui/profile_window.ui.h:24 -#: ../data/gui/vcard_information_window.ui.h:28 +#: ../data/gui/vcard_information_window.ui.h:29 msgid "Prefix:" msgstr "Namenspräfix:" #: ../data/gui/profile_window.ui.h:25 -#: ../data/gui/vcard_information_window.ui.h:30 +#: ../data/gui/vcard_information_window.ui.h:31 msgid "Role:" msgstr "Rolle:" #: ../data/gui/profile_window.ui.h:26 -#: ../data/gui/vcard_information_window.ui.h:31 +#: ../data/gui/vcard_information_window.ui.h:32 msgid "State:" msgstr "Bundesland:" #: ../data/gui/profile_window.ui.h:27 -#: ../data/gui/vcard_information_window.ui.h:33 +#: ../data/gui/vcard_information_window.ui.h:34 msgid "Street:" msgstr "Straße:" #. Suffix in Name #: ../data/gui/profile_window.ui.h:29 -#: ../data/gui/vcard_information_window.ui.h:37 +#: ../data/gui/vcard_information_window.ui.h:38 msgid "Suffix:" msgstr "Namenszusatz:" #. "About" is the text of a tab of vcard window #: ../data/gui/profile_window.ui.h:31 -#: ../data/gui/vcard_information_window.ui.h:40 +#: ../data/gui/vcard_information_window.ui.h:42 msgid "About" msgstr "Über" @@ -2785,12 +2574,12 @@ msgid "Click to set your avatar" msgstr "Hier klicken, um den Avatar zu auszuwählen." #: ../data/gui/profile_window.ui.h:33 -#: ../data/gui/vcard_information_window.ui.h:45 +#: ../data/gui/vcard_information_window.ui.h:46 msgid "Format: YYYY-MM-DD" msgstr "Format: JJJJ-MM-TT" #: ../data/gui/profile_window.ui.h:34 -#: ../data/gui/vcard_information_window.ui.h:47 +#: ../data/gui/vcard_information_window.ui.h:48 msgid "Personal Info" msgstr "Persönliche Details" @@ -2813,8 +2602,8 @@ msgstr "Konto entfernen (in Gajim und auf dem _Server)" #. Remove group #. Remove -#: ../data/gui/remove_account_window.ui.h:4 ../src/roster_window.py:5438 -#: ../src/roster_window.py:5564 ../src/roster_window.py:5694 +#: ../data/gui/remove_account_window.ui.h:4 ../src/roster_window.py:5635 +#: ../src/roster_window.py:5760 ../src/roster_window.py:5890 msgid "_Remove" msgstr "_Entfernen" @@ -2869,52 +2658,48 @@ msgstr "" msgid "Profile, A_vatar" msgstr "Profil und A_vatar" -#: ../data/gui/roster_window.ui.h:10 +#: ../data/gui/roster_window.ui.h:11 msgid "Show Only _Active Contacts" msgstr "Nur _aktive Kontakte anzeigen" -#: ../data/gui/roster_window.ui.h:11 +#: ../data/gui/roster_window.ui.h:12 msgid "Show Trans_ports" msgstr "Trans_porte anzeigen" -#: ../data/gui/roster_window.ui.h:12 +#: ../data/gui/roster_window.ui.h:13 msgid "Show _Offline Contacts" msgstr "Abgemeldete K_ontakte anzeigen" -#: ../data/gui/roster_window.ui.h:13 ../src/statusicon.py:343 +#: ../data/gui/roster_window.ui.h:14 ../src/statusicon.py:346 msgid "Show _Roster" msgstr "_Kontaktliste anzeigen" -#: ../data/gui/roster_window.ui.h:14 +#: ../data/gui/roster_window.ui.h:15 msgid "_Accounts" msgstr "_Konten" #. Make sure the character after "_" is not M/m (conflicts with Alt+M that is supposed to show the Emoticon Selector) -#: ../data/gui/roster_window.ui.h:15 +#: ../data/gui/roster_window.ui.h:16 #: ../data/gui/subscription_request_window.ui.h:6 msgid "_Actions" msgstr "_Aktionen" -#: ../data/gui/roster_window.ui.h:17 +#: ../data/gui/roster_window.ui.h:18 msgid "_Contents" msgstr "In_halte" -#: ../data/gui/roster_window.ui.h:19 ../src/disco.py:1520 +#: ../data/gui/roster_window.ui.h:20 ../src/disco.py:1520 msgid "_Edit" msgstr "Änd_ern" -#: ../data/gui/roster_window.ui.h:20 +#: ../data/gui/roster_window.ui.h:21 msgid "_FAQ" msgstr "_FAQ" -#: ../data/gui/roster_window.ui.h:21 +#: ../data/gui/roster_window.ui.h:22 msgid "_Help" msgstr "_Hilfe" -#: ../data/gui/roster_window.ui.h:23 -msgid "_Send Single Message..." -msgstr "Einzelne _Nachricht senden …" - #: ../data/gui/roster_window.ui.h:25 msgid "_View" msgstr "A_nsicht" @@ -2932,11 +2717,11 @@ msgid "_Add contact" msgstr "_Kontakt hinzufügen" #. Information -#: ../data/gui/search_window.ui.h:4 ../src/roster_window.py:5706 +#: ../data/gui/search_window.ui.h:4 ../src/roster_window.py:5902 msgid "_Information" msgstr "_Informationen" -#: ../data/gui/search_window.ui.h:5 ../src/disco.py:1371 +#: ../data/gui/search_window.ui.h:5 ../src/disco.py:1373 msgid "_Search" msgstr "_Suche" @@ -3050,59 +2835,60 @@ msgid "Client:" msgstr "Client:" #: ../data/gui/vcard_information_window.ui.h:8 +#, fuzzy +msgid "Configured avatar:" +msgstr "Gewählter Avatar:" + +#: ../data/gui/vcard_information_window.ui.h:9 msgid "Contact time:" msgstr "Uhrzeit beim Kontakt:" -#: ../data/gui/vcard_information_window.ui.h:19 +#: ../data/gui/vcard_information_window.ui.h:20 msgid "Jabber ID:" msgstr "Jabber-ID:" -#: ../data/gui/vcard_information_window.ui.h:29 +#: ../data/gui/vcard_information_window.ui.h:30 msgid "Resource:" msgstr "Ressource:" -#: ../data/gui/vcard_information_window.ui.h:32 +#: ../data/gui/vcard_information_window.ui.h:33 msgid "Status:" msgstr "Status:" #. Family Name -#: ../data/gui/vcard_information_window.ui.h:35 +#: ../data/gui/vcard_information_window.ui.h:36 msgid "Subscription:" msgstr "Abonnement:" -#: ../data/gui/vcard_information_window.ui.h:38 +#: ../data/gui/vcard_information_window.ui.h:39 msgid "System:" msgstr "System:" -#: ../data/gui/vcard_information_window.ui.h:41 +#: ../data/gui/vcard_information_window.ui.h:40 +#, fuzzy +msgid "User avatar:" +msgstr "Avatar:" + +#: ../data/gui/vcard_information_window.ui.h:43 msgid "Comments" msgstr "Kommentare" -#: ../data/gui/vcard_information_window.ui.h:42 -msgid "Configured avatar:" -msgstr "Gewählter Avatar:" - -#: ../data/gui/vcard_information_window.ui.h:43 +#: ../data/gui/vcard_information_window.ui.h:44 #: ../data/gui/zeroconf_information_window.ui.h:1 msgid "Contact" msgstr "Kontakt" -#: ../data/gui/vcard_information_window.ui.h:44 +#: ../data/gui/vcard_information_window.ui.h:45 msgid "Contact Information" msgstr "Kontaktinformationen" -#: ../data/gui/vcard_information_window.ui.h:46 +#: ../data/gui/vcard_information_window.ui.h:47 msgid "More" msgstr "Mehr" -#: ../data/gui/vcard_information_window.ui.h:48 -msgid "User avatar:" -msgstr "Avatar auswählen" - #: ../data/gui/xml_console_window.ui.h:1 -#, fuzzy msgid "Filter" -msgstr "Schrift" +msgstr "Filter" #: ../data/gui/xml_console_window.ui.h:2 msgid "Jabber Traffic" @@ -3114,23 +2900,23 @@ msgstr "XML-Direkteingabe" #: ../data/gui/xml_console_window.ui.h:4 msgid "Hide IN stanzas" -msgstr "" +msgstr "IN Strophen verstecken" #: ../data/gui/xml_console_window.ui.h:5 msgid "Hide IQ stanzas" -msgstr "" +msgstr "IQ Strophen verstecken" #: ../data/gui/xml_console_window.ui.h:6 msgid "Hide Message stanzas" -msgstr "" +msgstr "Nachrichtenstrophen verstecken" #: ../data/gui/xml_console_window.ui.h:7 msgid "Hide OUT stanzas" -msgstr "" +msgstr "OUT Strophen verstecken" #: ../data/gui/xml_console_window.ui.h:8 msgid "Hide Presence stanzas" -msgstr "" +msgstr "Presence Strophen verstecken" #: ../data/gui/xml_console_window.ui.h:9 msgid "Info/Query" @@ -3235,7 +3021,7 @@ msgstr "Ganzzahl" msgid "Text" msgstr "Text" -#: ../src/advanced_configuration_window.py:96 ../src/chat_control.py:962 +#: ../src/advanced_configuration_window.py:96 ../src/chat_control.py:1049 msgid "Color" msgstr "Farbe" @@ -3272,140 +3058,153 @@ msgstr[1] "Sie haben neue Einträge erhalten (und %d werden nicht angezeigt):" #. #!/bin/sh #. LANG=$(for i in *.po; do j=${i/.po/}; echo -n "_('"$j"')":" '"$j"', " ; done) #. echo "{_('en'):'en'",$LANG"}" -#: ../src/chat_control.py:76 +#: ../src/chat_control.py:83 msgid "English" msgstr "Englisch" -#: ../src/chat_control.py:76 +#: ../src/chat_control.py:83 msgid "Belarusian" msgstr "Weißrussisch" -#: ../src/chat_control.py:76 +#: ../src/chat_control.py:83 msgid "Bulgarian" msgstr "Bulgarisch" -#: ../src/chat_control.py:76 +#: ../src/chat_control.py:83 msgid "Breton" msgstr "Bretonisch" -#: ../src/chat_control.py:76 +#: ../src/chat_control.py:83 msgid "Czech" msgstr "Tschechisch" -#: ../src/chat_control.py:76 +#: ../src/chat_control.py:83 msgid "German" msgstr "Deutsch" -#: ../src/chat_control.py:76 +#: ../src/chat_control.py:83 msgid "Greek" msgstr "Griechisch" -#: ../src/chat_control.py:76 +#: ../src/chat_control.py:83 msgid "British" msgstr "Britisch" -#: ../src/chat_control.py:76 +#: ../src/chat_control.py:83 msgid "Esperanto" msgstr "Esperanto" -#: ../src/chat_control.py:76 +#: ../src/chat_control.py:83 msgid "Spanish" msgstr "Spanisch" -#: ../src/chat_control.py:76 +#: ../src/chat_control.py:83 msgid "Basque" msgstr "Baskisch" -#: ../src/chat_control.py:76 +#: ../src/chat_control.py:83 msgid "French" msgstr "Französisch" -#: ../src/chat_control.py:76 +#: ../src/chat_control.py:83 msgid "Croatian" msgstr "Kroatisch" -#: ../src/chat_control.py:76 +#: ../src/chat_control.py:83 msgid "Italian" msgstr "Italienisch" -#: ../src/chat_control.py:76 +#: ../src/chat_control.py:83 msgid "Norwegian (b)" msgstr "Norwegisch (Bokmål)" -#: ../src/chat_control.py:76 +#: ../src/chat_control.py:83 msgid "Dutch" msgstr "Niederländisch" -#: ../src/chat_control.py:76 +#: ../src/chat_control.py:83 msgid "Norwegian" msgstr "Norwegisch" -#: ../src/chat_control.py:76 +#: ../src/chat_control.py:83 msgid "Polish" msgstr "Polnisch" -#: ../src/chat_control.py:76 +#: ../src/chat_control.py:83 msgid "Portuguese" msgstr "Portugiesisch" -#: ../src/chat_control.py:76 +#: ../src/chat_control.py:83 msgid "Brazilian Portuguese" msgstr "Brasilianisch" -#: ../src/chat_control.py:76 +#: ../src/chat_control.py:83 msgid "Russian" msgstr "Russsich" -#: ../src/chat_control.py:76 +#: ../src/chat_control.py:83 msgid "Serbian" msgstr "Serbisch" -#: ../src/chat_control.py:76 +#: ../src/chat_control.py:83 msgid "Slovak" msgstr "Slovakisch" -#: ../src/chat_control.py:76 +#: ../src/chat_control.py:83 msgid "Swedish" msgstr "Schwedisch" -#: ../src/chat_control.py:76 +#: ../src/chat_control.py:83 msgid "Chinese (Ch)" msgstr "Chinesisch" -#: ../src/chat_control.py:496 +#: ../src/chat_control.py:226 +msgid "Ping?" +msgstr "Ping?" + +#: ../src/chat_control.py:231 +#, python-format +msgid "Pong! (%s s.)" +msgstr "Pong! (%s s.)" + +#: ../src/chat_control.py:236 +msgid "Error." +msgstr "Fehler:" + +#: ../src/chat_control.py:561 msgid "Spelling language" msgstr "Sprache für die Rechtschreibprüfung" #. we are not connected -#: ../src/chat_control.py:528 ../src/chat_control.py:737 +#: ../src/chat_control.py:593 ../src/chat_control.py:809 msgid "A connection is not available" msgstr "Keine Verbindung verfügbar" -#: ../src/chat_control.py:529 ../src/chat_control.py:738 +#: ../src/chat_control.py:594 ../src/chat_control.py:810 msgid "Your message can not be sent until you are connected." msgstr "Ihre Nachricht kann erst gesendet werden, wenn Sie verbunden sind." -#: ../src/chat_control.py:944 +#: ../src/chat_control.py:1031 msgid "Underline" msgstr "Unterstrichen" -#: ../src/chat_control.py:945 +#: ../src/chat_control.py:1032 msgid "Strike" msgstr "Durchgestrichen" -#: ../src/chat_control.py:968 +#: ../src/chat_control.py:1055 msgid "Font" msgstr "Schriftart" -#: ../src/chat_control.py:977 +#: ../src/chat_control.py:1064 msgid "Clear formating" msgstr "Formatierung löschen" -#: ../src/chat_control.py:1055 +#: ../src/chat_control.py:1141 msgid "Really send file?" msgstr "Datei wirklich senden?" -#: ../src/chat_control.py:1056 +#: ../src/chat_control.py:1142 #, python-format msgid "If you send a file to %s, he/she will know your real Jabber ID." msgstr "" @@ -3413,49 +3212,53 @@ msgstr "" "kennen." # TODO: GPG/PGP unification in original strings needed -#: ../src/chat_control.py:1520 ../src/chat_control.py:2010 +#: ../src/chat_control.py:1622 ../src/chat_control.py:2144 msgid "GPG encryption enabled" msgstr "GPG-Verschlüsselung aktiviert" +#: ../src/chat_control.py:1643 ../src/chat_control.py:1646 +msgid "Requires python-farsight." +msgstr "Erfordert python-farsight." + #. Add to roster -#: ../src/chat_control.py:1545 ../src/common/contacts.py:158 -#: ../src/common/contacts.py:277 ../src/common/helpers.py:57 -#: ../src/common/helpers.py:251 ../src/dialogs.py:1070 ../src/dialogs.py:2094 -#: ../src/dialogs.py:2123 ../src/gui_interface.py:551 -#: ../src/gui_menu_builder.py:252 ../src/gui_menu_builder.py:395 -#: ../src/roster_window.py:1630 ../src/roster_window.py:1632 -#: ../src/roster_window.py:1965 ../src/roster_window.py:3355 -#: ../src/roster_window.py:3382 +#: ../src/chat_control.py:1672 ../src/common/contacts.py:158 +#: ../src/common/contacts.py:277 ../src/common/helpers.py:60 +#: ../src/common/helpers.py:254 ../src/dialogs.py:1099 ../src/dialogs.py:2192 +#: ../src/dialogs.py:2221 ../src/gui_interface.py:507 +#: ../src/gui_menu_builder.py:254 ../src/gui_menu_builder.py:404 +#: ../src/roster_window.py:1644 ../src/roster_window.py:1646 +#: ../src/roster_window.py:1979 ../src/roster_window.py:3506 +#: ../src/roster_window.py:3533 msgid "Not in Roster" msgstr "Nicht in der Kontaktliste" -#: ../src/chat_control.py:1575 +#: ../src/chat_control.py:1702 msgid "This contact does not support file transfer." msgstr "Der Kontakt unterstützt keine Dateiübertragung." -#: ../src/chat_control.py:1578 +#: ../src/chat_control.py:1705 msgid "You need to know the real JID of the contact to send him or her a file." msgstr "" "Sie müssen die JID des Kontakts kennen, um ihm oder ihr eine Datei zu senden." -#: ../src/chat_control.py:1677 +#: ../src/chat_control.py:1812 #, python-format msgid "%(type)s state : %(state)s, reason: %(reason)s" msgstr "%(type)s Status: %(state)s, Grund: %(reason)s" -#: ../src/chat_control.py:1869 +#: ../src/chat_control.py:2003 #, python-format msgid "%(nickname)s from group chat %(room_name)s" msgstr "%(nickname)s aus dem Chatraum %(room_name)s" # TODO: GPG/PGP unification in original strings needed #. No key assigned nor a key is used by remote contact -#: ../src/chat_control.py:1990 ../src/dialogs.py:5278 +#: ../src/chat_control.py:2124 ../src/dialogs.py:4997 msgid "No GPG key assigned" msgstr "Kein GPG-Schlüssel zugewiesen" # TODO: GPG/PGP unification in original strings needed -#: ../src/chat_control.py:1991 +#: ../src/chat_control.py:2125 msgid "" "No GPG key is assigned to this contact. So you cannot encrypt messages with " "GPG." @@ -3464,50 +3267,50 @@ msgstr "" "GPG verschlüsselt werden." # TODO: GPG/PGP unification in original strings needed -#: ../src/chat_control.py:2000 +#: ../src/chat_control.py:2134 msgid "GPG encryption disabled" msgstr "GPG-Verschlüsselung deaktiviert" -#: ../src/chat_control.py:2026 +#: ../src/chat_control.py:2160 msgid "Session WILL be logged" msgstr "Sitzung WIRD aufgezeichnet" -#: ../src/chat_control.py:2028 +#: ../src/chat_control.py:2162 msgid "Session WILL NOT be logged" msgstr "Sitzung WIRD NICHT aufgezeichnet" #. encryption %s active -#: ../src/chat_control.py:2045 +#: ../src/chat_control.py:2179 msgid "is" msgstr "ist" -#: ../src/chat_control.py:2045 +#: ../src/chat_control.py:2179 msgid "is NOT" msgstr "ist NICHT" #. chat session %s be logged -#: ../src/chat_control.py:2047 +#: ../src/chat_control.py:2181 msgid "will" msgstr "wird" -#: ../src/chat_control.py:2047 +#: ../src/chat_control.py:2181 msgid "will NOT" msgstr "wird NICHT" #. About encrypted chat session -#: ../src/chat_control.py:2051 +#: ../src/chat_control.py:2185 msgid "and authenticated" msgstr "und authentifiziert" #. About encrypted chat session -#: ../src/chat_control.py:2055 +#: ../src/chat_control.py:2189 msgid "and NOT authenticated" msgstr "und NICHT authentifiziert" #. status will become 'is' or 'is not', authentificaed will become #. 'and authentificated' or 'and not authentificated', logged will become #. 'will' or 'will not' -#: ../src/chat_control.py:2062 +#: ../src/chat_control.py:2196 #, python-format msgid "" "%(type)s encryption %(status)s active %(authenticated)s.\n" @@ -3516,32 +3319,32 @@ msgstr "" "%(type)s Verschlüsselung %(status)s aktiv %(authenticated)s.\n" "Ihre Chatsitzung %(logged)s mitgeschrieben." -#: ../src/chat_control.py:2205 +#: ../src/chat_control.py:2357 msgid "Session negotiation cancelled" msgstr "Sitzungsaushandlung abgebrochen" -#: ../src/chat_control.py:2215 +#: ../src/chat_control.py:2367 msgid "This session WILL be archived on server" msgstr "" -#: ../src/chat_control.py:2217 +#: ../src/chat_control.py:2369 #, fuzzy msgid "This session WILL NOT be archived on server" msgstr "Sitzung WIRD NICHT aufgezeichnet" -#: ../src/chat_control.py:2226 +#: ../src/chat_control.py:2378 msgid "This session is encrypted" msgstr "Diese Sitzung ist verschlüsselt" -#: ../src/chat_control.py:2229 +#: ../src/chat_control.py:2381 msgid " and WILL be logged" msgstr " und wird AUFGEZEICHNET" -#: ../src/chat_control.py:2231 +#: ../src/chat_control.py:2383 msgid " and WILL NOT be logged" msgstr " und wird NICHT AUFGEZEICHNET" -#: ../src/chat_control.py:2236 +#: ../src/chat_control.py:2388 msgid "" "Remote contact's identity not verified. Click the shield button for more " "details." @@ -3549,25 +3352,25 @@ msgstr "" "Die Identität des Gesprächspartners wurde nicht überprüft. Mehr " "Informationen durch Klicken auf das Schild-Symbol." -#: ../src/chat_control.py:2238 +#: ../src/chat_control.py:2390 msgid "E2E encryption disabled" msgstr "E2E-Verschlüsselung deaktiviert" -#: ../src/chat_control.py:2282 ../src/chat_control.py:2295 +#: ../src/chat_control.py:2434 ../src/chat_control.py:2447 msgid "The following message was NOT encrypted" msgstr "Die folgende Nachricht wurde UNVERSCHLÜSSELT übertragen" -#: ../src/chat_control.py:2288 +#: ../src/chat_control.py:2440 msgid "The following message was encrypted" msgstr "Die folgende Nachricht wurde verschlüsselt übertragen" #. %s is being replaced in the code with JID -#: ../src/chat_control.py:2566 +#: ../src/chat_control.py:2731 #, python-format msgid "You just received a new message from \"%s\"" msgstr "Sie haben eine neue Nachricht von \"%s\" erhalten" -#: ../src/chat_control.py:2567 +#: ../src/chat_control.py:2732 msgid "" "If you close this tab and you have history disabled, this message will be " "lost." @@ -3575,13 +3378,15 @@ msgstr "" "Wenn Sie das Fenster schließen und der Verlauf abgeschaltet ist, geht die " "Nachricht verloren." -#: ../src/chat_control.py:2713 ../src/common/connection_handlers.py:1593 -#: ../src/common/connection_handlers.py:1716 ../src/common/connection.py:454 -#: ../src/gajim.py:159 ../src/session.py:138 +#: ../src/chat_control.py:2899 ../src/common/connection_handlers_events.py:871 +#: ../src/common/connection_handlers.py:945 +#: ../src/common/connection_handlers.py:1046 +#: ../src/common/connection_handlers.py:1703 ../src/common/connection.py:462 +#: ../src/common/logger.py:1126 ../src/gajim.py:203 ../src/session.py:97 msgid "Database Error" msgstr "Datenbankfehler" -#: ../src/chat_control.py:2714 +#: ../src/chat_control.py:2900 #, python-format msgid "" "The database file (%s) cannot be read. Try to repair it or remove it (all " @@ -3590,42 +3395,50 @@ msgstr "" "Die Datenbankdatei (%s) konnte nicht gelesen werden. Versuchen Sie, diese zu " "reparieren oder zu löschen (dabei gehen alle Verläufe verloren)." -#: ../src/chat_control.py:2962 +#: ../src/chat_control.py:3136 ../src/gui_interface.py:1059 +#, python-format +msgid "" +"Unable to decrypt message from %s\n" +"It may have been tampered with." +msgstr "" +"Die Nachricht von %s konnte nicht entschlüsselt werden.\n" +"Eventuell wurde sie verändert." + +#: ../src/chat_control.py:3169 #, python-format msgid "%(name)s is now %(status)s" msgstr "%(name)s ist jetzt %(status)s" -#: ../src/common/check_paths.py:37 +#: ../src/common/check_paths.py:38 msgid "creating logs database" msgstr "Erstelle Log-Datenbank" -#: ../src/common/check_paths.py:85 -#, fuzzy +#: ../src/common/check_paths.py:86 msgid "creating cache database" -msgstr "Erstelle Log-Datenbank" +msgstr "Erstelle Cache-Datenbank" -#: ../src/common/check_paths.py:276 ../src/common/check_paths.py:283 -#: ../src/common/check_paths.py:290 ../src/common/check_paths.py:297 -#: ../src/common/check_paths.py:304 ../src/common/check_paths.py:311 -#: ../src/common/check_paths.py:326 ../src/common/check_paths.py:341 +#: ../src/common/check_paths.py:275 ../src/common/check_paths.py:282 +#: ../src/common/check_paths.py:289 ../src/common/check_paths.py:296 +#: ../src/common/check_paths.py:303 ../src/common/check_paths.py:310 +#: ../src/common/check_paths.py:317 ../src/common/check_paths.py:324 #, python-format msgid "%s is a file but it should be a directory" msgstr "%s ist eine Datei, sollte aber ein Verzeichnis sein" -#: ../src/common/check_paths.py:277 ../src/common/check_paths.py:284 -#: ../src/common/check_paths.py:291 ../src/common/check_paths.py:298 -#: ../src/common/check_paths.py:305 ../src/common/check_paths.py:312 -#: ../src/common/check_paths.py:320 ../src/common/check_paths.py:327 -#: ../src/common/check_paths.py:335 ../src/common/check_paths.py:342 +#: ../src/common/check_paths.py:276 ../src/common/check_paths.py:283 +#: ../src/common/check_paths.py:290 ../src/common/check_paths.py:297 +#: ../src/common/check_paths.py:304 ../src/common/check_paths.py:311 +#: ../src/common/check_paths.py:318 ../src/common/check_paths.py:325 +#: ../src/common/check_paths.py:335 ../src/common/check_paths.py:343 msgid "Gajim will now exit" msgstr "Gajim wird nun beendet" -#: ../src/common/check_paths.py:319 ../src/common/check_paths.py:334 +#: ../src/common/check_paths.py:334 ../src/common/check_paths.py:342 #, python-format msgid "%s is a directory but should be a file" msgstr "%s ist ein Verzeichnis, sollte aber eine Datei sein" -#: ../src/common/check_paths.py:351 +#: ../src/common/check_paths.py:352 #, python-format msgid "creating %s directory" msgstr "Erstelle Verzeichnis %s" @@ -3650,6 +3463,11 @@ msgstr "Frei zum Chatten" msgid "Online" msgstr "Online" +#: ../src/common/commands.py:106 ../src/common/helpers.py:242 +#: ../src/tooltips.py:193 +msgid "Away" +msgstr "Abwesend" + #: ../src/common/commands.py:107 msgid "Extended away" msgstr "Längere Zeit abwesend" @@ -3689,9 +3507,9 @@ msgstr "Wählen Sie die Chaträume, die Sie verlassen möchten" #. Make special context menu if group is Groupchats #: ../src/common/commands.py:212 ../src/common/contacts.py:137 -#: ../src/common/helpers.py:57 ../src/roster_window.py:815 -#: ../src/roster_window.py:1634 ../src/roster_window.py:1636 -#: ../src/roster_window.py:5323 +#: ../src/common/helpers.py:60 ../src/roster_window.py:817 +#: ../src/roster_window.py:1648 ../src/roster_window.py:1650 +#: ../src/roster_window.py:2508 ../src/roster_window.py:5520 msgid "Groupchats" msgstr "Gruppenchat" @@ -3708,55 +3526,54 @@ msgid "All unread messages have been forwarded." msgstr "Alle ungelesenen Nachrichten wurden weitergeleitet." #: ../src/common/commands.py:295 -#, fuzzy msgid "Forward unread message then disconnect" -msgstr "Ungelesene Nachrichten weiterleiten" +msgstr "Ungelesene Nachrichten weiterleiten, dann Verbindung trennen" -#: ../src/common/config.py:75 +#: ../src/common/config.py:76 msgid "Play sound when user is busy" msgstr "Klang abspielen, wenn der Benutzer beschäftigt ist" -#: ../src/common/config.py:76 +#: ../src/common/config.py:77 msgid "Use D-Bus and Notification-Daemon to show notifications" msgstr "" "Verwende D-Bus und Notification-Daemon, um Benachrichtigungen zu zeigen" -#: ../src/common/config.py:78 +#: ../src/common/config.py:79 msgid "Show only online and free for chat contacts in roster." msgstr "" "Nur die Kontakte in der Kontaktliste anzeigen, die Verfügbar oder Frei zum " "Chatten sind." -#: ../src/common/config.py:81 +#: ../src/common/config.py:82 msgid "Time in minutes, after which your status changes to away." msgstr "Zeit in Minuten, nach der Ihr Status auf Abwesend gesetzt wird" -#: ../src/common/config.py:82 +#: ../src/common/config.py:83 msgid "$S (Away as a result of being idle more than $T min)" msgstr "$S (Abwesend wegen Untätigkeit für mehr als $T Minuten)" -#: ../src/common/config.py:82 +#: ../src/common/config.py:83 msgid "$S will be replaced by current status message, $T by autoaway time." msgstr "" "$S wird mit der aktuellen Statusnachricht ersetzt, $T durch die " "Abwesenheitszeit." -#: ../src/common/config.py:84 +#: ../src/common/config.py:85 msgid "Time in minutes, after which your status changes to not available." msgstr "Zeit in Minuten, nach der Ihr Status auf nicht verfügbar gesetzt wird." -#: ../src/common/config.py:85 +#: ../src/common/config.py:86 msgid "$S (Not available as a result of being idle more than $T min)" msgstr "$S (Nicht verfügbar wegen Untätigkeit seit mehr als $T Minuten)" -#: ../src/common/config.py:85 +#: ../src/common/config.py:86 msgid "$S will be replaced by current status message, $T by autoxa time." msgstr "" "$S wird mit der aktuellen Statusnachricht ersetzt, $T durch die Nicht-" "Verfügbar-Zeit." # FIXME: Check English -#: ../src/common/config.py:88 +#: ../src/common/config.py:89 #, fuzzy msgid "" "When to show notification area icon. Can be 'never', 'on_event', 'always'." @@ -3764,47 +3581,51 @@ msgstr "" "Legt fest, wann das Systemleisten-Symbol angezeigt wird. Mögliche Werte: " "'never', 'on_event', 'always'." -#: ../src/common/config.py:93 +#: ../src/common/config.py:90 +msgid "Allow to hide the roster window even if the tray icon is not shown." +msgstr "" + +#: ../src/common/config.py:95 msgid "Incoming nickname color." msgstr "Farbe des eingehenden Spitznamens." -#: ../src/common/config.py:94 +#: ../src/common/config.py:96 msgid "Outgoing nickname color." msgstr "Farbe des abgehenden Spitznamens." -#: ../src/common/config.py:95 +#: ../src/common/config.py:97 msgid "Incoming text color." msgstr "Farbe des eingehenden Textes." -#: ../src/common/config.py:96 +#: ../src/common/config.py:98 msgid "Outgoing text color." msgstr "Farbe des abgehende Textes." -#: ../src/common/config.py:97 +#: ../src/common/config.py:99 msgid "Status message text color." msgstr "Farbe der Statusnachricht." -#: ../src/common/config.py:100 +#: ../src/common/config.py:102 msgid "Incoming nickname font." msgstr "Schriftart des eingehenden Spitznamens." -#: ../src/common/config.py:101 +#: ../src/common/config.py:103 msgid "Outgoing nickname font." msgstr "Schriftart des ausgehenden Spitznamens." -#: ../src/common/config.py:102 +#: ../src/common/config.py:104 msgid "Incoming text font." msgstr "Schriftart des eingehenden Textes." -#: ../src/common/config.py:103 +#: ../src/common/config.py:105 msgid "Outgoing text font." msgstr "Schriftart des abgehenden Textes." -#: ../src/common/config.py:104 +#: ../src/common/config.py:106 msgid "Status message text font." msgstr "Schriftart der Statusnachricht" -#: ../src/common/config.py:105 +#: ../src/common/config.py:107 msgid "" "List (space separated) of rows (accounts and groups) that are collapsed." msgstr "" @@ -3812,17 +3633,17 @@ msgstr "" "eingeklappt sind." #. sorted alphanum -#: ../src/common/config.py:106 ../src/common/config.py:505 +#: ../src/common/config.py:108 ../src/common/config.py:495 #: ../src/common/optparser.py:294 ../src/common/optparser.py:490 -#: ../src/common/optparser.py:524 ../src/gui_interface.py:3186 +#: ../src/common/optparser.py:524 ../src/gui_interface.py:2659 msgid "default" msgstr "Standard" -#: ../src/common/config.py:112 +#: ../src/common/config.py:114 msgid "Language used by speller" msgstr "Sprache der Rechtschreibprüfung" -#: ../src/common/config.py:113 +#: ../src/common/config.py:115 msgid "" "'always' - print time for every message.\n" "'sometimes' - print time every print_ichat_every_foo_minutes minute.\n" @@ -3832,7 +3653,7 @@ msgstr "" "'sometimes' - Zeige Zeit alle print_ichat_every_foo_minutes Minuten.\n" "'never' - Zeige nie die Zeit." -#: ../src/common/config.py:114 +#: ../src/common/config.py:116 msgid "" "Print time in chats using Fuzzy Clock. Value of fuzziness from 1 to 4, or 0 " "to disable fuzzyclock. 1 is the most precise clock, 4 the least precise one. " @@ -3843,18 +3664,18 @@ msgstr "" "ungenaue Uhr. Die ungenaue Uhr wird nur verwendet, wenn print_time auf " "'sometimes' gesetzt ist." -#: ../src/common/config.py:117 +#: ../src/common/config.py:119 msgid "Treat * / _ pairs as possible formatting characters." msgstr "Behandle * / _ Paare als mögliche Formatierungszeichen." -#: ../src/common/config.py:118 +#: ../src/common/config.py:120 msgid "" "If True, do not remove */_ . So *abc* will be bold but with * * not removed." msgstr "" "Falls aktiviert, wird */_ nicht entfernt. So wird *abc* fett gedruckt, aber " "* * wird nicht entfernt." -#: ../src/common/config.py:121 +#: ../src/common/config.py:123 msgid "" "Uses ReStructured text markup to send HTML, plus ascii formatting if " "selected. For syntax, see http://docutils.sourceforge.net/docs/ref/rst/" @@ -3865,7 +3686,7 @@ msgstr "" "sourceforge.net/docs/ref/rst/restructuredtext.html (Englisch). (Falls Sie " "dieses Feature benutzen möchten, installieren Sie docutils.)" -#: ../src/common/config.py:130 +#: ../src/common/config.py:132 msgid "" "Character to add after nickname when using nick completion (tab) in group " "chat." @@ -3873,7 +3694,7 @@ msgstr "" "Zeichen, das hinter Spitznamen angezeigt wird, wenn die " "Spitznamenvervollständigung (Tab) in Chaträumen verwendet wird." -#: ../src/common/config.py:131 +#: ../src/common/config.py:133 msgid "" "Character to propose to add after desired nickname when desired nickname is " "used by someone else in group chat." @@ -3881,7 +3702,13 @@ msgstr "" "Zeichen, das an den gewünschten Spitznamen gehängt wird, falls der dieser im " "Chatraum bereits vergeben ist." -#: ../src/common/config.py:159 +#: ../src/common/config.py:151 +msgid "" +"If true, Gajim will save roster position when hiding roster, and restore it " +"when showing roster." +msgstr "" + +#: ../src/common/config.py:162 msgid "" "This option let you customize timestamp that is printed in conversation. For " "exemple \"[%H:%M] \" will show \"[hour:minute] \". See python doc on " @@ -3892,24 +3719,26 @@ msgstr "" "Weitere Informationen finden Sie in der Python-Dokumentation zu \"strftime\" " "unter http://docs.python.org/lib/module-time.html (Englisch)." -#: ../src/common/config.py:160 +#: ../src/common/config.py:163 msgid "Characters that are printed before the nickname in conversations" msgstr "Zeichen, die vor dem Spitznamen ausgegeben werden" -#: ../src/common/config.py:161 +#: ../src/common/config.py:164 msgid "Characters that are printed after the nickname in conversations" msgstr "Zeichen, die nach dem Spitznamen gedruckt werden" -#: ../src/common/config.py:164 +#: ../src/common/config.py:167 msgid "" "Specify the command to run when new mail arrives, e.g.: /usr/bin/getmail -q" msgstr "" +"Definieren Sie den auszuführenden Befehl, wenn neue E-Mails eintreffen, z." +"B.: /usr/bin/getmail -q" -#: ../src/common/config.py:166 +#: ../src/common/config.py:169 msgid "Add * and [n] in roster title?" msgstr "Sollen * und [n] in den Titel der Kontaktleiste eingefügt werden?" -#: ../src/common/config.py:167 +#: ../src/common/config.py:170 msgid "" "How many lines to remember from previous conversation when a chat tab/window " "is reopened." @@ -3917,24 +3746,30 @@ msgstr "" "Wie viele Zeilen von der vorherigen Unterhaltung angezeigt werden, wenn ein " "Tab/Fenster wieder geöffnet wird." -#: ../src/common/config.py:168 +#: ../src/common/config.py:171 msgid "How many minutes should last lines from previous conversation last." msgstr "" "Wie viele Minuten die Zeilen vom vorherigen Chat angezeigt werden sollen." -#: ../src/common/config.py:169 -msgid "How many lines to request to server when entering a groupchat." +#: ../src/common/config.py:172 +#, fuzzy +msgid "" +"How many lines to request to server when entering a groupchat. -1 means no " +"limit" msgstr "" "Wie viele zurückliegende Chatzeilen sollen beim Betreten eines Gruppenchats " "abgefragt werden?" -#: ../src/common/config.py:170 -msgid "How many minutes back to request logs when a entering a groupchat." +#: ../src/common/config.py:173 +#, fuzzy +msgid "" +"How many minutes back to request logs when a entering a groupchat. -1 means " +"no limit" msgstr "" "Wie viele Minuten zurück soll das Logfile beim Betreten eines Gruppenchats " "abgefragt werden?" -#: ../src/common/config.py:171 +#: ../src/common/config.py:174 msgid "" "How many seconds to wait before trying to autorejoin to a conference you are " "being disconnected from. Set to 0 to disable autorejoining." @@ -3943,7 +3778,12 @@ msgstr "" "automatisch betreten wird, von dem Sie getrennt worden sind? Setze den Wert " "auf 0, um das automatische Betreten zu deaktivieren." -#: ../src/common/config.py:173 +#: ../src/common/config.py:175 +msgid "" +"Should autorejoin be activated when we are being kicked from a conference?" +msgstr "" + +#: ../src/common/config.py:176 msgid "" "Send message on Ctrl+Enter and with Enter make new line (Mirabilis ICQ " "Client default behaviour)." @@ -3951,11 +3791,11 @@ msgstr "" "Sende Nachricht mit Strg+Enter und mache bei Enter einen Zeilenumbruch " "(Standardeinstellung im ICQ-Client Mirabilis)." -#: ../src/common/config.py:175 +#: ../src/common/config.py:178 msgid "How many lines to store for Ctrl+KeyUP." msgstr "Wie viele Zeilen für Strg+BildAuf gespeichert werden." -#: ../src/common/config.py:178 +#: ../src/common/config.py:181 #, python-format msgid "" "Either custom url with %s in it where %s is the word/phrase or 'WIKTIONARY' " @@ -3964,13 +3804,13 @@ msgstr "" "Entweder eine spezielle URL mit %s, wobei %s das Wort / die Phrase ist oder " "'WIKTIONARY', was bedeutet, dass das Wörterbuch Wiktionary verwendet wird." -#: ../src/common/config.py:181 +#: ../src/common/config.py:184 msgid "If checked, Gajim can be controlled remotely using gajim-remote." msgstr "" "Falls aktiviert, kann Gajim von außerhalb mittels gajim-remote kontrolliert " "werden." -#: ../src/common/config.py:182 +#: ../src/common/config.py:185 msgid "" "If True, listen to D-Bus signals from NetworkManager and change the status " "of accounts (provided they do not have listen_to_network_manager set to " @@ -3982,14 +3822,14 @@ msgstr "" "(vorausgesetzt, Sie haben listen_to_network_manager nicht auf False gesetzt " "und Ihre Konten synchronisieren sich mit dem globalen Status)." -#: ../src/common/config.py:183 +#: ../src/common/config.py:186 msgid "" "Sent chat state notifications. Can be one of all, composing_only, disabled." msgstr "" "Senden von Chatstatus-Benachrichtigungen. Kann auf \"all\", \"composing_only" "\" oder \"disabled\" gesetzt werden." -#: ../src/common/config.py:184 +#: ../src/common/config.py:187 msgid "" "Displayed chat state notifications in chat windows. Can be one of all, " "composing_only, disabled." @@ -3997,7 +3837,7 @@ msgstr "" "Angezeigte Chatstatus-Benachrichtigungen im Chatfenster. Kann auf \"all\", " "\"composing_only\" oder \"disabled\" gesetzt werden." -#: ../src/common/config.py:186 +#: ../src/common/config.py:189 msgid "" "When not printing time for every message (print_time==sometimes), print it " "every x minutes." @@ -4005,11 +3845,11 @@ msgstr "" "Wenn die Uhrzeit nicht für jede Nachricht angezeigt werden soll " "(print_time==sometimes), wird sie alle x Minuten angezeigt." -#: ../src/common/config.py:187 +#: ../src/common/config.py:190 msgid "Ask before closing a group chat tab/window." msgstr "Fragen, bevor ein Chatraum-Tab oder -Fenster geschlossen wird." -#: ../src/common/config.py:188 +#: ../src/common/config.py:191 msgid "" "Always ask before closing group chat tab/window in this space separated list " "of group chat jids." @@ -4017,7 +3857,7 @@ msgstr "" "Immer fragen, bevor ein Chatraum-Tab oder -Fenster aus dieser Liste von " "Gruppchatnamen geschlossen wird (Namen getrennt durch Leerzeichen)." -#: ../src/common/config.py:189 +#: ../src/common/config.py:192 msgid "" "Never ask before closing group chat tab/window in this space separated list " "of group chat jids." @@ -4025,7 +3865,7 @@ msgstr "" "Niemals fragen, bevor ein Chatraum-Tab oder -Fenster aus dieser Liste von " "Gruppchatnamen geschlossen wird (Namen getrennt durch Leerzeichen)." -#: ../src/common/config.py:190 +#: ../src/common/config.py:193 msgid "" "Ask before closing tabbed chat window if there are control that can loose " "data (chat, private chat, groupchat that will not be minimized)" @@ -4033,7 +3873,7 @@ msgstr "" "Frage bevor ein Chatfenster mit mehreren Tabs geschlossen wird, wenn dadurch " "Daten verloren gehen würden (Chat, Privatchat, nicht minimierter Gruppenchat)" -#: ../src/common/config.py:193 +#: ../src/common/config.py:196 msgid "" "Comma separated list of hosts that we send, in addition of local interfaces, " "for File Transfer in case of address translation/port forwarding." @@ -4042,28 +3882,28 @@ msgstr "" "Dateiübertragung mit NAT/Port-Freigabe zusätzlich zum lokalen Rechnernamen " "gesendet werden." -#: ../src/common/config.py:195 +#: ../src/common/config.py:198 msgid "IEC standard says KiB = 1024 bytes, KB = 1000 bytes." msgstr "Der IEC-Standard legt fest: 1 KiB = 1024 Byte, 1 kB = 1000 Byte." -#: ../src/common/config.py:197 +#: ../src/common/config.py:200 #, fuzzy msgid "Notify of events in the notification area." msgstr "Neue Ereignisse per Trayicon anzeigen" -#: ../src/common/config.py:203 +#: ../src/common/config.py:206 msgid "Show tab when only one conversation?" msgstr "Tableiste bei nur einer Unterhaltung anzeigen?" -#: ../src/common/config.py:204 +#: ../src/common/config.py:207 msgid "Show tabbed notebook border in chat windows?" msgstr "Tab-Grenze im Chatfenster anzeigen?" -#: ../src/common/config.py:205 +#: ../src/common/config.py:208 msgid "Show close button in tab?" msgstr "Schließen-Schaltflächen in Tabs anzeigen?" -#: ../src/common/config.py:206 +#: ../src/common/config.py:209 msgid "" "A list of modp groups to use in a Diffie-Hellman, highest preference first, " "separated by commas. Valid groups are 1, 2, 5, 14, 15, 16, 17 and 18. Higher " @@ -4076,18 +3916,18 @@ msgstr "" "Werte sind sicherer, benötigen jedoch beim Start einer neuen Unterhaltung " "mehr Rechenzeit." -#: ../src/common/config.py:215 +#: ../src/common/config.py:218 msgid "Preview new messages in notification popup?" msgstr "Vorschau neuer Nachrichten in der Popup-Benachrichtigung anzeigen?" -#: ../src/common/config.py:220 +#: ../src/common/config.py:223 msgid "" "A semicolon-separated list of words that will be highlighted in group chats." msgstr "" "Eine durch Semikola getrennte Liste von Worten, die in einem Chatraum " "hervorgehoben werden sollen." -#: ../src/common/config.py:221 +#: ../src/common/config.py:224 #, fuzzy msgid "" "If True, quits Gajim when X button of Window Manager is clicked. This " @@ -4097,14 +3937,14 @@ msgstr "" "geklickt wird. Diese Option funktioniert nur, wenn das Trayicon verwendet " "wird." -#: ../src/common/config.py:222 +#: ../src/common/config.py:225 msgid "" "If True, Gajim will check if it's the default jabber client on each startup." msgstr "" "Falls aktiviert, wird beim Starten überprüft, ob Gajim der Standard-Jabber-" "Client ist." -#: ../src/common/config.py:223 +#: ../src/common/config.py:226 msgid "" "If True, Gajim will display an icon on each tab containing unread messages. " "Depending on the theme, this icon may be animated." @@ -4112,7 +3952,7 @@ msgstr "" "Falls aktiviert, wird auf jedem Tab, der ungelesene Nachrichten enthält, ein " "Icon angezeigt. Abhängig vom Chat-Design kann dieses Icon auch animiert sein." -#: ../src/common/config.py:224 +#: ../src/common/config.py:227 msgid "" "If True, Gajim will display the status message, if not empty, for every " "contact under the contact name in roster window." @@ -4120,13 +3960,13 @@ msgstr "" "Falls aktiviert, wird in der Kontaktliste unter dem Namen eines jeden " "Kontaktes dessen Statusnachricht angezeigt, sofern diese nicht leer ist." -#: ../src/common/config.py:230 +#: ../src/common/config.py:233 msgid "Define the position of the avatar in roster. Can be left or right" msgstr "" "Legt die Position des Avatars in der Kontaktliste fest. \"left\" (links) " "oder \"right\" (rechts) sind mögliche Optionen." -#: ../src/common/config.py:231 +#: ../src/common/config.py:234 msgid "" "If True, Gajim will ask for avatar each contact that did not have an avatar " "last time or has one cached that is too old." @@ -4134,7 +3974,7 @@ msgstr "" "Falls aktiviert, wird jeder Kontakt, der beim letzten Mal keinen Avatar " "hatte oder dessen gespeicherter Avatar zu alt ist, nach einem neuen gefragt." -#: ../src/common/config.py:232 +#: ../src/common/config.py:235 msgid "" "If False, Gajim will no longer print status line in chats when a contact " "changes his or her status and/or his or her status message." @@ -4142,7 +3982,7 @@ msgstr "" "Falls deaktiviert, wird keine Statuszeile im Chat angezeigt, wenn ein " "Kontakt seinen Status oder seine Statusnachricht ändert." -#: ../src/common/config.py:233 +#: ../src/common/config.py:236 msgid "" "can be \"none\", \"all\" or \"in_and_out\". If \"none\", Gajim will no " "longer print status line in groupchats when a member changes his or her " @@ -4156,30 +3996,34 @@ msgstr "" "Statusnachrichten anzeigt. Falls \"in_and_out\", wird nur dann ein Status " "angezeigt, wenn jemand den Chatraum betritt oder verlässt." -#: ../src/common/config.py:235 +#: ../src/common/config.py:238 +msgid "Log XHTML messages instead of plain text messages." +msgstr "" + +#: ../src/common/config.py:239 msgid "Background color of contacts when they just signed in." msgstr "Hintergrundfarbe von Kontakten, wenn sie sich gerade angemeldet haben." -#: ../src/common/config.py:236 +#: ../src/common/config.py:240 msgid "Background color of contacts when they just signed out." msgstr "Hintergrundfarbe von Kontakten, wenn sie sich gerade abgemeldet haben." -#: ../src/common/config.py:238 +#: ../src/common/config.py:242 msgid "" "If True, restored messages will use a smaller font than the default one." msgstr "" "Falls aktiviert, werden wiederhergestellte Nachrichten mit einer etwas " "kleineren Schrift als normal dargestellt." -#: ../src/common/config.py:239 +#: ../src/common/config.py:243 msgid "Don't show avatar for the transport itself." msgstr "Zeige keinen Avatar für den Transport selbst an." -#: ../src/common/config.py:240 +#: ../src/common/config.py:244 msgid "Don't show roster in the system taskbar." msgstr "Kontaktliste nicht in der Taskleiste anzeigen." -#: ../src/common/config.py:241 +#: ../src/common/config.py:245 msgid "" "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 " @@ -4189,7 +4033,7 @@ msgstr "" "Ereignisse anstehen (Standardverhalten der meisten Fenster-Manager; benötigt " "GTK+ und PyGTK >= Version 2.8)." -#: ../src/common/config.py:243 +#: ../src/common/config.py:247 msgid "" "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 " @@ -4200,7 +4044,7 @@ msgstr "" "Informationen gesendet." #. always, never, peracct, pertype should not be translated -#: ../src/common/config.py:246 +#: ../src/common/config.py:250 msgid "" "Controls the window where new messages are placed.\n" "'always' - All messages are sent to a single window.\n" @@ -4222,32 +4066,40 @@ msgstr "" "einem eigenen Fenster. Eine Änderung dieser Option tritt erst nach einem " "Neustart von Gajim in Kraft." -#: ../src/common/config.py:247 +#: ../src/common/config.py:251 +msgid "" +"Show roster on startup.\n" +"'always' - Always show roster.\n" +"'never' - Never show roster.\n" +"'last_state' - Restore the last state roster." +msgstr "" + +#: ../src/common/config.py:252 msgid "If False, you will no longer see the avatar in the chat window." msgstr "" "Falls deaktiviert, wird der Avatar nicht mehr im Chatfenster angezeigt." -#: ../src/common/config.py:248 +#: ../src/common/config.py:253 msgid "If True, pressing the escape key closes a tab/window." msgstr "Falls aktiviert, schließt die Escape-Taste aktive Tabs und Fenster." -#: ../src/common/config.py:249 +#: ../src/common/config.py:254 msgid "Hides the buttons in chat windows." msgstr "Versteckt die Schaltflächen im Chatraum-Fenster." -#: ../src/common/config.py:250 +#: ../src/common/config.py:255 msgid "Hides the banner in a group chat window" msgstr "Versteckt das Banner im Chatraum-Fenster." -#: ../src/common/config.py:251 +#: ../src/common/config.py:256 msgid "Hides the banner in two persons chat window" msgstr "Versteckt das Banner im Zwei-Personen-Chatfenster." -#: ../src/common/config.py:252 +#: ../src/common/config.py:257 msgid "Hides the group chat occupants list in group chat window." msgstr "Versteckt die Benutzerliste im Chatraum-Fenster." -#: ../src/common/config.py:253 +#: ../src/common/config.py:258 msgid "" "In a chat, show the nickname at the beginning of a line only when it's not " "the same person talking than in previous message." @@ -4255,17 +4107,17 @@ msgstr "" "Der Spitzname wird im Chat nur dann vor einer Nachricht angezeigt, wenn sie " "nicht von der Person stammt, die schon die letzte Nachricht geschrieben hat." -#: ../src/common/config.py:254 +#: ../src/common/config.py:259 msgid "Indentation when using merge consecutive nickname." msgstr "" "Einrückung einfügen, wenn das Zusammenführen nachfolgender Spitznamen " "verwendet wird." -#: ../src/common/config.py:255 +#: ../src/common/config.py:260 msgid "Smooth scroll message in conversation window" msgstr "Sanften Bildlauf im Unterhaltungsfenster verwenden" -#: ../src/common/config.py:256 +#: ../src/common/config.py:261 msgid "" "List of colors, separated by \":\", that will be used to color nicknames in " "group chats." @@ -4273,13 +4125,13 @@ msgstr "" "Liste der Farben, die zum Einfärben der Spitznamen in Chaträumen verwendet " "werden sollen (Werte getrennt durch \":\")." -#: ../src/common/config.py:257 +#: ../src/common/config.py:262 msgid "Ctrl-Tab go to next composing tab when none is unread." msgstr "" "Strg+Tab, um zum nächsten Tab zu wechseln, wenn kein anderer Tab ungelesene " "Nachrichten enthält." -#: ../src/common/config.py:258 +#: ../src/common/config.py:263 msgid "" "Should we show the confirm metacontacts creation dialog or not? Empty string " "means we never show the dialog." @@ -4287,7 +4139,7 @@ msgstr "" "Soll der Bestätigungsdialog beim Erstellen von Metakontakten angezeigt " "werden? Bei einer leeren Zeichenfolge wird der Dialog nie gezeigt." -#: ../src/common/config.py:259 +#: ../src/common/config.py:264 msgid "" "Should we show the confirm block contact dialog or not? Empty string means " "we never show the dialog." @@ -4295,7 +4147,7 @@ msgstr "" "Soll der Bestätigungsdialog zum Blockieren von Benutzern angezeigt werden? " "Bei einer leeren Zeichenfolge wird der Dialog nie gezeigt." -#: ../src/common/config.py:260 +#: ../src/common/config.py:265 msgid "" "Should we show the confirm custom status dialog or not? Empty string means " "we never show the dialog." @@ -4303,7 +4155,7 @@ msgstr "" "Soll der Bestätigungsdialog für den speziellen Chatstatus angezeigt werden? " "Bei einer leeren Zeichenfolge wird der Dialog nie gezeigt." -#: ../src/common/config.py:261 +#: ../src/common/config.py:266 msgid "" "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 " @@ -4313,7 +4165,7 @@ msgstr "" "Fenster setzen. VORSICHT: Wenn Sie mit einer negativen Priorität angemeldet " "sind ehalten Sie keine Nachrichten mehr vom Server." -#: ../src/common/config.py:262 +#: ../src/common/config.py:267 msgid "" "If True, Gajim will use Gnome Keyring (if available) to store account " "passwords." @@ -4321,7 +4173,7 @@ msgstr "" "Falls aktiviert, wird der Gnome-Schlüsselbund (falls verfügbar) verwendet, " "um die Passwörter der Konten zu speichern." -#: ../src/common/config.py:263 +#: ../src/common/config.py:268 msgid "" "If True, Gajim will use KDE Wallet (if kwalletcli is available) to store " "account passwords." @@ -4329,7 +4181,7 @@ msgstr "" "Falls aktiviert, wird Gajim KDE Wallet (wenn kwalletcli verfügbar ist) um " "Kontopasswörter zu speichern." -#: ../src/common/config.py:264 +#: ../src/common/config.py:269 msgid "" "If True, Gajim will show number of online and total contacts in account and " "group rows." @@ -4337,7 +4189,7 @@ msgstr "" "Falls aktiviert, wird die Anzahl der angemeldeten und gesamten Kontakte in " "den Konto- und Gruppenreihen angezeigt." -#: ../src/common/config.py:265 +#: ../src/common/config.py:270 msgid "" "Can be empty, 'chat' or 'normal'. If not empty, treat all incoming messages " "as if they were of this type" @@ -4345,7 +4197,7 @@ msgstr "" "Kann leer, 'chat' oder 'normal' sein. Wenn nicht leer, werden alle " "eingehenden Nachrichten so behandelt, als wären sie vom gewählten Typ." -#: ../src/common/config.py:266 +#: ../src/common/config.py:271 msgid "" "If True, Gajim will scroll and select the contact who sent you the last " "message, if chat window is not already opened." @@ -4354,7 +4206,7 @@ msgstr "" "auswählen, die die letzte Nachricht geschickt hat, falls das Chatfenster " "nicht bereits geöffnet ist." -#: ../src/common/config.py:267 +#: ../src/common/config.py:272 msgid "" "If True, Gajim will convert string between $$ and $$ to an image using dvips " "and convert before insterting it in chat window." @@ -4362,12 +4214,12 @@ msgstr "" "Falls aktiviert, wird Gajim eine Zeichenkette zwischen $$ und $$ mittels " "dvips vor dem Einfügen in ein Chatfenster in ein Bild umwandeln." -#: ../src/common/config.py:268 +#: ../src/common/config.py:273 msgid "Time of inactivity needed before the change status window closes down." msgstr "" "Wartezeit, bevor das \"Status ändern\"-Fenster automatisch geschlossen wird." -#: ../src/common/config.py:269 +#: ../src/common/config.py:274 msgid "" "Maximum number of lines that are printed in conversations. Oldest lines are " "cleared." @@ -4375,7 +4227,7 @@ msgstr "" "Maximale Anzahl Zeilen, die in einem Gespräch angezeigt werden. Die ältesten " "Zeilen werden gelöscht." -#: ../src/common/config.py:270 +#: ../src/common/config.py:275 #, fuzzy msgid "" "If True, notification windows from notification-daemon will be attached to " @@ -4384,11 +4236,11 @@ msgstr "" "Falls aktiviert, werden Benachrichtigungsfenster vom Benachrichtigungsdienst " "an das Systray-Icon angehängt." -#: ../src/common/config.py:271 +#: ../src/common/config.py:276 msgid "Choose interval between 2 checks of idleness." msgstr "Legen Sie den Zeitabstand zwischen den Leerlaufüberprüfungen fest." -#: ../src/common/config.py:272 +#: ../src/common/config.py:277 msgid "" "Change the value to change the size of latex formulas displayed. The higher " "is larger." @@ -4396,7 +4248,7 @@ msgstr "" "Legt die LaTeX-Anzeigengröße fest. Je höher der Wert, desto größer die " "Anzeige." -#: ../src/common/config.py:273 +#: ../src/common/config.py:278 msgid "" "Valid uri schemes. Only schemes in this list will be accepted as \"real\" " "uri. (mailto and xmpp are handled separately)" @@ -4404,7 +4256,7 @@ msgstr "" "Gültige URI-Schemata. Nur Schemata in dieser Liste werden als \"wirkliche\" " "URIs akzeptiert. (mailto und xmpp werden separat behandelt)" -#: ../src/common/config.py:274 +#: ../src/common/config.py:279 msgid "" "Ask offline status message to all offline contacts when connection to an " "accoutn is established. WARNING: This causes a lot of requests to be sent!" @@ -4413,13 +4265,13 @@ msgstr "" "Kontakten, sobald eine Verbindung zu einem Konto hergestellt wird. WARNUNG: " "Diese Einstellung erfordert eine Menge Sendeanfragen an den Server!" -#: ../src/common/config.py:275 +#: ../src/common/config.py:280 msgid "If True, completion in groupchats will be like a shell auto-completion" msgstr "" "Falls aktiviert, wird die Autovervollständigung in Gruppenchats ähnlich der " "Autovervollständigung in der Shell sein." -#: ../src/common/config.py:276 +#: ../src/common/config.py:281 msgid "" "When is self contact row displayed. Can be \"always\", \"when_other_resource" "\" or \"never\"" @@ -4428,31 +4280,37 @@ msgstr "" "\" (immer), \"when_other_resource\" (wenn eine andere Ressource online ist) " "oder \"never\" (niemals)" -#: ../src/common/config.py:281 +#: ../src/common/config.py:286 msgid "Optionally fix jingle output video framerate. Example: 10/1 or 25/2" msgstr "" +"Jingle Videoausgabe-Framerate optional korrigieren. Beispiel: 10/1 oder 25/2" -#: ../src/common/config.py:282 +#: ../src/common/config.py:287 msgid "Optionally resize jingle output video. Example: 320x240" -msgstr "" +msgstr "Jingle Videoausgabegröße optional ändern. Beispiel: 320x240" -#: ../src/common/config.py:285 +#: ../src/common/config.py:290 msgid "" "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." msgstr "" +"Falls aktiviert, wird Gajim versuchen einen STUN server für Jingle zu " +"verwenden. Entweder jenen in der \"stun_server\" Option, oder einen vom " +"Jabber-Server vorgegebenen Server." -#: ../src/common/config.py:286 +#: ../src/common/config.py:291 msgid "STUN server to use when using jingle" -msgstr "" +msgstr "Zu benutzender STUN server für Jingle" -#: ../src/common/config.py:287 +#: ../src/common/config.py:292 msgid "" "If True, Gajim will show affiliation of groupchat occupants by adding a " "colored square to the status icon" msgstr "" +"Falls aktiviert, wird Gajim die Zuordnung der Teilnehmer im Gruppenchat " +"anzeigen, indem ein farbiges Quadrat zum Status-Icon hinzugefügt wird." -#: ../src/common/config.py:300 +#: ../src/common/config.py:305 msgid "" "Priority will change automatically according to your status. Priorities are " "defined in autopriority_* options." @@ -4460,7 +4318,7 @@ msgstr "" "Die Priorität ändert sich automatisch gemäß dem Status. Die Prioritäten " "werden in den \"autopriority_*\"-Optionen festgelegt." -#: ../src/common/config.py:308 +#: ../src/common/config.py:313 msgid "" "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" @@ -4469,19 +4327,19 @@ msgstr "" "Chatten, Abwesend , Nicht verfügbar, Beschäftigt, Unsichtbar. (Diese Option " "kann nur verwendet werden, wenn \"restore_last_status\" deaktiviert ist.)" -#: ../src/common/config.py:309 +#: ../src/common/config.py:314 msgid "If enabled, restore the last status that was used." msgstr "" "Falls aktiviert, wird die zuletzt eingestellte Statusmeldung verwendet." -#: ../src/common/config.py:311 +#: ../src/common/config.py:316 msgid "" "If True, Contacts requesting authorization will be automatically accepted." msgstr "" "Falls aktiviert, werden Authorisationsanfragen von Kontakten automatisch " "akzeptiert." -#: ../src/common/config.py:312 +#: ../src/common/config.py:317 msgid "" "If False, this account will be disabled and will not appear in roster window." msgstr "" @@ -4489,23 +4347,23 @@ msgstr "" "Kontaktliste." # TODO: GPG/PGP unification in original strings needed -#: ../src/common/config.py:315 +#: ../src/common/config.py:320 msgid "" "If disabled, don't sign presences with GPG key, even if GPG is configured." msgstr "" "Falls deaktiviert, wird die Anwesenheit selbst dann nicht mit einem GPG-" "Schlüssel signiert, wenn GPG konfiguriert ist." -#: ../src/common/config.py:317 +#: ../src/common/config.py:322 msgid "Enable ESessions encryption for this account." msgstr "Aktiviere die ESession-Verschlüsselung für dieses Konto." -#: ../src/common/config.py:318 +#: ../src/common/config.py:323 msgid "Should Gajim automatically start an encrypted session when possible?" msgstr "" "Soll die ESession-Verschlüsselung automatisch gestartet werden, wenn möglich?" -#: ../src/common/config.py:319 +#: ../src/common/config.py:324 msgid "" "Ordered list (space separated) of connection type to try. Can contain tls, " "ssl or plain" @@ -4513,41 +4371,41 @@ msgstr "" "Geordnete Liste der auszuprobierenden Verbindungstypen (getrennt durch " "Leerzeichen). Mögliche Werte sind TLS, SSL und PLAIN." -#: ../src/common/config.py:320 +#: ../src/common/config.py:325 msgid "" "Show a warning dialog before sending password on an plaintext connection." msgstr "" "Warnmeldung anzeigen, bevor das Passwort über eine unsichere Verbindung " "übertragen wird." -#: ../src/common/config.py:321 +#: ../src/common/config.py:326 msgid "Show a warning dialog before using standard SSL library." msgstr "" "Warnmeldung anzeigen, bevor das Passwort über eine mit der Standard-SSL-" "Bibliothek geschützte Verbindung übertragen wird." -#: ../src/common/config.py:322 +#: ../src/common/config.py:327 #, fuzzy msgid "" -"Show a warning dialog before sending PLAIN password over a plain conenction." +"Show a warning dialog before sending PLAIN password over a plain connection." msgstr "" -"Warnmeldung anzeigen, bevor das Passwort über eine unsichere Verbindung " -"übertragen wird." +"Warnmeldung anzeigen, bevor das PLAIN Passwort über eine unsichere " +"Verbindung übertragen wird." -#: ../src/common/config.py:324 +#: ../src/common/config.py:329 msgid "Space separated list of ssl errors to ignore." msgstr "" "Liste der SSL-Fehler, die zu ignorieren sind (getrennt durch Leerzeichen)." -#: ../src/common/config.py:333 +#: ../src/common/config.py:338 msgid "Whitespace sent after inactivity" msgstr "Whitespace nach Untätigkeit gesendet" -#: ../src/common/config.py:334 +#: ../src/common/config.py:339 msgid "XMPP ping sent after inactivity" msgstr "XMPP Ping nach Untätigkeit gesendet" -#: ../src/common/config.py:338 +#: ../src/common/config.py:343 msgid "" "How many seconds to wait for the answer of ping alive packet before we try " "to reconnect." @@ -4556,11 +4414,11 @@ msgstr "" "wieder hergestellt wird." #. yes, no, ask -#: ../src/common/config.py:342 +#: ../src/common/config.py:347 msgid "Jabberd2 workaround" msgstr "Jabberd2-Workaround" -#: ../src/common/config.py:345 +#: ../src/common/config.py:350 msgid "" "If checked, Gajim will use your IP and proxies defined in " "file_transfer_proxies option for file transfer." @@ -4569,15 +4427,28 @@ msgstr "" "file_transfer_proxies Option definierten Proxys für den Dateitransfer " "verwenden." -#: ../src/common/config.py:359 +#: ../src/common/config.py:364 msgid "Answer to receipt requests" msgstr "Antwort auf Empfangsbestätigungsanfragen" -#: ../src/common/config.py:360 +#: ../src/common/config.py:365 msgid "Sent receipt requests" msgstr "Empfangsbestätigungen anfordern" -#: ../src/common/config.py:370 +#: ../src/common/config.py:374 +#, fuzzy +msgid "" +"Allow Gajim to send information about the operating system you are running." +msgstr "" +"Falls aktiviert, erlaubt Gajim Ihrem Gegenüber, Ihr Betriebssystem " +"festzustellen." + +#: ../src/common/config.py:375 +#, fuzzy +msgid "Allow Gajim to send your local time." +msgstr "%s möchte Ihnen eine Datei senden." + +#: ../src/common/config.py:376 msgid "" "When negotiating an encrypted session, should Gajim assume you want your " "messages to be logged?" @@ -4585,20 +4456,20 @@ msgstr "" "Soll beim Aushandeln einer verschlüsselten Sitzung angenommen werden, dass " "Sie Ihre Nachrichten aufzeichnen wollen?" -#: ../src/common/config.py:373 -#, fuzzy +#: ../src/common/config.py:379 msgid "Message that is sent to contacts you want to add" -msgstr "Bitte geben Sie die Daten des neuen Kontakts ein" +msgstr "" +"Nachricht, die an Kontakte gesendet wird, die hinzugefügt werden sollen" -#: ../src/common/config.py:374 +#: ../src/common/config.py:380 msgid "Last time we syncronized with logs from server." msgstr "" -#: ../src/common/config.py:436 +#: ../src/common/config.py:442 msgid "Is OpenPGP enabled for this contact?" msgstr "Ist OpenPGP für diesen Kontakt aktiviert?" -#: ../src/common/config.py:437 +#: ../src/common/config.py:443 msgid "" "Should Gajim automatically start an encrypted session with this contact when " "possible?" @@ -4606,109 +4477,94 @@ msgstr "" "Soll automatisch eine ESession-Verschlüsselung mit diesem Kontakt gestartet " "werden?" -#: ../src/common/config.py:438 ../src/common/config.py:441 +#: ../src/common/config.py:444 ../src/common/config.py:447 msgid "Language for which we want to check misspelled words" msgstr "Sprache, die für die Rechtschreibprüfung verwerdet werden soll" -# TODO: Review by german translators: getrennte Status || getrennter Status -#: ../src/common/config.py:447 -msgid "all or space separated status" -msgstr "alle oder durch Leerzeichen getrennte Status" - -#: ../src/common/config.py:448 -msgid "'yes', 'no', or 'both'" -msgstr "'ja', 'nein' oder 'beide'" - -#: ../src/common/config.py:449 ../src/common/config.py:451 -#: ../src/common/config.py:452 ../src/common/config.py:455 -#: ../src/common/config.py:456 -msgid "'yes', 'no' or ''" -msgstr "'ja, 'nein' oder ''" - -#: ../src/common/config.py:460 +#: ../src/common/config.py:450 msgid "" "State whether plugins should be activated on exit (this is saved on Gajim " "exit). This option SHOULD NOT be used to (de)activate plug-ins. Use GUI " "instead." msgstr "" -#: ../src/common/config.py:465 ../src/common/pep.py:157 +#: ../src/common/config.py:455 ../src/common/pep.py:157 msgid "Sleeping" msgstr "Schlafen" -#: ../src/common/config.py:466 +#: ../src/common/config.py:456 msgid "Back soon" msgstr "Bin gleich wieder da" -#: ../src/common/config.py:466 +#: ../src/common/config.py:456 msgid "Back in some minutes." msgstr "Bin in ein paar Minuten zurück." -#: ../src/common/config.py:467 ../src/common/pep.py:127 +#: ../src/common/config.py:457 ../src/common/pep.py:127 msgid "Eating" msgstr "Essen" -#: ../src/common/config.py:467 +#: ../src/common/config.py:457 msgid "I'm eating, so leave me a message." msgstr "Ich esse gerade, bitte hinterlasse eine Nachricht." -#: ../src/common/config.py:468 +#: ../src/common/config.py:458 msgid "Movie" msgstr "Film" -#: ../src/common/config.py:468 +#: ../src/common/config.py:458 msgid "I'm watching a movie." msgstr "Ich sehe mir einen Film an." -#: ../src/common/config.py:469 ../src/common/pep.py:186 +#: ../src/common/config.py:459 ../src/common/pep.py:186 msgid "Working" msgstr "Arbeiten" -#: ../src/common/config.py:469 +#: ../src/common/config.py:459 msgid "I'm working." msgstr "Ich arbeite." -#: ../src/common/config.py:470 +#: ../src/common/config.py:460 msgid "Phone" msgstr "Telefon" -#: ../src/common/config.py:470 +#: ../src/common/config.py:460 msgid "I'm on the phone." msgstr "Ich telefoniere." -#: ../src/common/config.py:471 +#: ../src/common/config.py:461 msgid "Out" msgstr "Draußen" -#: ../src/common/config.py:471 +#: ../src/common/config.py:461 msgid "I'm out enjoying life." msgstr "Ich bin draußen und genieße das Leben." -#: ../src/common/config.py:482 +#: ../src/common/config.py:472 msgid "I'm available." msgstr "Ich bin angemeldet." -#: ../src/common/config.py:483 +#: ../src/common/config.py:473 msgid "I'm free for chat." msgstr "Ich bin frei zum Chatten." -#: ../src/common/config.py:484 ../src/config.py:1600 +#: ../src/common/config.py:474 ../src/config.py:1609 msgid "Be right back." msgstr "Bin gleich zurück." -#: ../src/common/config.py:485 +#: ../src/common/config.py:475 msgid "I'm not available." msgstr "Ich bin nicht verfügbar." -#: ../src/common/config.py:486 +#: ../src/common/config.py:476 msgid "Do not disturb." msgstr "Bitte nicht stören." -#: ../src/common/config.py:487 ../src/common/config.py:488 +#: ../src/common/config.py:477 ../src/common/config.py:478 msgid "Bye!" msgstr "Auf Wiedersehen!" -#: ../src/common/config.py:498 +#: ../src/common/config.py:488 msgid "" "Sound to play when a group chat message contains one of the words in " "muc_highlight_words, or when a group chat message contains your nickname." @@ -4716,96 +4572,55 @@ msgstr "" "Abzuspielender Ton, falls eine Chatraum-Nachricht eines der Wörter aus der " "muc_highlights_works-Liste oder Ihren Spitznamen enthält." -#: ../src/common/config.py:499 +#: ../src/common/config.py:489 msgid "Sound to play when any MUC message arrives." msgstr "Ton, der bei einer neuen Chatraum-Nachricht abgespielt werden soll" -#: ../src/common/config.py:508 ../src/common/optparser.py:308 +#: ../src/common/config.py:498 ../src/common/optparser.py:308 msgid "green" msgstr "grün" -#: ../src/common/config.py:512 ../src/common/optparser.py:294 +#: ../src/common/config.py:502 ../src/common/optparser.py:294 msgid "grocery" msgstr "Lebensmittel" -#: ../src/common/config.py:516 +#: ../src/common/config.py:506 msgid "human" msgstr "Menschlich" -#: ../src/common/config.py:520 +#: ../src/common/config.py:510 msgid "marine" msgstr "Marine" -#: ../src/common/connection_handlers.py:94 -#: ../src/common/zeroconf/connection_handlers_zeroconf.py:53 -msgid "Unable to load idle module" -msgstr "Konnte Idle-Modul nicht laden" - -#: ../src/common/connection_handlers.py:127 -#, python-format -msgid "Registration information for transport %s has not arrived in time" -msgstr "" -"Die Registrierungsinformation für den Transport %s sind nicht rechtzeitig " -"angekommen" - -#: ../src/common/connection_handlers.py:134 -msgid "Registration succeeded" -msgstr "Registrierung war erfolgreich" - -# FIXME: Type in original string. Should be -# Registration with agent %s succeeded -# FIXME: Check English: should be consistently called "transport" -#: ../src/common/connection_handlers.py:135 -#, python-format -msgid "Registration with agent %s succeeded" -msgstr "Registrierung mit Agent %s war erfolgreich" - -#: ../src/common/connection_handlers.py:143 -msgid "Registration failed" -msgstr "Registrierung ist fehlgeschlagen" - -# FIXME: Type in original string. Should be -# Registration with agent ... -# FIXME: Check English: should be consistently called "transport" -#: ../src/common/connection_handlers.py:143 +#: ../src/common/connection_handlers_events.py:355 #, python-format msgid "" -"Registration with agent %(agent)s failed with error %(error)s: %(error_msg)s" +"JID %s is not RFC compliant. It will not be added to your roster. Use roster " +"management tools such as http://jru.jabberstudio.org/ to remove it" msgstr "" -"Registrierung mit Agent %(agent)s ist mit Fehler %(error)s fehlgeschlagen: " -"%(error_msg)s" +"Die Jabber-ID %s ist nicht RFC-konform und wird nicht zu Ihrer Kontaktliste " +"hinzugefügt. Verwenden Sie ein Kontaktlisten-Managment-Tool wie , um sie zu entfernen." -#: ../src/common/connection_handlers.py:466 -#: ../src/common/connection_handlers.py:1591 -#: ../src/common/connection_handlers.py:1714 ../src/common/connection.py:451 -#: ../src/gajim.py:341 +#: ../src/common/connection_handlers_events.py:784 +#, python-format +msgid "unsubscribe request from %s" +msgstr "Anfrage zur Beendigung des Abonnements von %s" + +#: ../src/common/connection_handlers_events.py:868 +#: ../src/common/connection_handlers.py:339 +#: ../src/common/connection_handlers.py:943 +#: ../src/common/connection_handlers.py:1044 +#: ../src/common/connection_handlers.py:1701 ../src/common/connection.py:459 +#: ../src/common/logger.py:1124 ../src/gajim.py:385 msgid "Disk Write Error" msgstr "Fehler beim Schreiben auf Festplatte" -#: ../src/common/connection_handlers.py:702 ../src/common/connection.py:1477 -msgid "Invisibility not supported" -msgstr "Unsichtbarkeit wird nicht unterstützt" - -#: ../src/common/connection_handlers.py:703 ../src/common/connection.py:1478 -#, python-format -msgid "Account %s doesn't support invisibility." -msgstr "Das Konto %s unterstützt keine Unsichtbarkeit." - -#: ../src/common/connection_handlers.py:1404 ../src/common/connection.py:255 -#: ../src/config.py:2093 ../src/config.py:2102 ../src/config.py:2170 -#: ../src/config.py:3577 ../src/dataforms_widget.py:603 ../src/dialogs.py:2947 -msgid "Invalid Jabber ID" -msgstr "Ungültige Jabber-ID" - -#: ../src/common/connection_handlers.py:1405 -msgid "A message from a non-valid JID arrived, it has been ignored." -msgstr "" -"Es wurde eine Nachricht von einer ungültigen Jabber-ID empfangen. Die " -"Nachricht wurde ignoriert." - -#: ../src/common/connection_handlers.py:1594 -#: ../src/common/connection_handlers.py:1717 ../src/common/connection.py:455 -#: ../src/gajim.py:160 ../src/session.py:139 +#: ../src/common/connection_handlers_events.py:872 +#: ../src/common/connection_handlers.py:946 +#: ../src/common/connection_handlers.py:1047 +#: ../src/common/connection_handlers.py:1704 ../src/common/connection.py:463 +#: ../src/common/logger.py:1127 ../src/gajim.py:204 ../src/session.py:98 #, python-format msgid "" "The database file (%s) cannot be read. Try to repair it (see http://trac." @@ -4815,6 +4630,130 @@ msgstr "" "reparieren (http://trac.gajim.org/wiki/DatabaseBackup (Englisch)) oder zu " "löschen (dabei gehen alle Verläufe verloren)." +#. Room has been destroyed. see +#. http://www.xmpp.org/extensions/xep-0045.html#destroyroom +#: ../src/common/connection_handlers_events.py:893 +msgid "Room has been destroyed" +msgstr "Der Chatraum wurde gelöscht" + +#: ../src/common/connection_handlers_events.py:901 +#, python-format +msgid "You can join this room instead: %s" +msgstr "Sie können stattdessen diesen Chatraum betreten: %s" + +#: ../src/common/connection_handlers_events.py:974 +#: ../src/common/connection.py:258 ../src/config.py:2102 ../src/config.py:2111 +#: ../src/config.py:2179 ../src/config.py:3608 ../src/dataforms_widget.py:623 +#: ../src/dialogs.py:3049 +msgid "Invalid Jabber ID" +msgstr "Ungültige Jabber-ID" + +#: ../src/common/connection_handlers_events.py:975 +msgid "A message from a non-valid JID arrived, it has been ignored." +msgstr "" +"Es wurde eine Nachricht von einer ungültigen Jabber-ID empfangen. Die " +"Nachricht wurde ignoriert." + +#: ../src/common/connection_handlers_events.py:1423 +#, python-format +msgid "Unknown SSL error: %d" +msgstr "Unbekannter SSL-Fehler: %d" + +#. single message +#: ../src/common/connection_handlers_events.py:1947 ../src/dialogs.py:2741 +#: ../src/notify.py:194 ../src/notify.py:423 +msgid "New Single Message" +msgstr "Neue einzelne Nachricht" + +#: ../src/common/connection_handlers_events.py:1949 ../src/notify.py:196 +#, python-format +msgid "New Single Message from %(nickname)s" +msgstr "Einzelne neue Nachricht von %(nickname)s" + +#. private message +#: ../src/common/connection_handlers_events.py:1952 ../src/dialogs.py:2742 +#: ../src/notify.py:200 ../src/notify.py:424 +msgid "New Private Message" +msgstr "Neue private Nachricht" + +#: ../src/common/connection_handlers_events.py:1954 ../src/notify.py:203 +#, python-format +msgid "New Private Message from group chat %s" +msgstr "Neue private Nachricht aus dem Chatraum %s" + +#: ../src/common/connection_handlers_events.py:1957 ../src/notify.py:205 +#, python-format +msgid "%(nickname)s: %(message)s" +msgstr "%(nickname)s: %(message)s" + +#: ../src/common/connection_handlers_events.py:1960 ../src/notify.py:208 +#, python-format +msgid "Messaged by %(nickname)s" +msgstr "Neue Nachricht von %(nickname)s" + +#. chat message +#: ../src/common/connection_handlers_events.py:1963 ../src/dialogs.py:2741 +#: ../src/notify.py:212 ../src/notify.py:423 +msgid "New Message" +msgstr "Neue Nachricht" + +#: ../src/common/connection_handlers_events.py:1965 ../src/notify.py:214 +#, python-format +msgid "New Message from %(nickname)s" +msgstr "Neue Nachricht von %(nickname)s" + +#: ../src/common/connection_handlers.py:95 +#: ../src/common/zeroconf/connection_handlers_zeroconf.py:54 +msgid "Unable to load idle module" +msgstr "Konnte Idle-Modul nicht laden" + +#: ../src/common/connection_handlers.py:128 +#, python-format +msgid "Registration information for transport %s has not arrived in time" +msgstr "" +"Die Registrierungsinformation für den Transport %s sind nicht rechtzeitig " +"angekommen" + +#: ../src/common/connection_handlers.py:135 +msgid "Registration succeeded" +msgstr "Registrierung war erfolgreich" + +# FIXME: Type in original string. Should be +# Registration with agent %s succeeded +# FIXME: Check English: should be consistently called "transport" +#: ../src/common/connection_handlers.py:136 +#, python-format +msgid "Registration with agent %s succeeded" +msgstr "Registrierung mit Agent %s war erfolgreich" + +#: ../src/common/connection_handlers.py:144 +msgid "Registration failed" +msgstr "Registrierung ist fehlgeschlagen" + +# FIXME: Type in original string. Should be +# Registration with agent ... +# FIXME: Check English: should be consistently called "transport" +#: ../src/common/connection_handlers.py:144 +#, python-format +msgid "" +"Registration with agent %(agent)s failed with error %(error)s: %(error_msg)s" +msgstr "" +"Registrierung mit Agent %(agent)s ist mit Fehler %(error)s fehlgeschlagen: " +"%(error_msg)s" + +#: ../src/common/connection_handlers.py:564 ../src/common/connection.py:1520 +msgid "Invisibility not supported" +msgstr "Unsichtbarkeit wird nicht unterstützt" + +#: ../src/common/connection_handlers.py:565 ../src/common/connection.py:1521 +#, python-format +msgid "Account %s doesn't support invisibility." +msgstr "Das Konto %s unterstützt keine Unsichtbarkeit." + +#: ../src/common/connection_handlers.py:1746 +msgid "I would like to add you to my roster." +msgstr "Ich würde Sie gerne als Kontakt zu meiner Kontaktliste hinzufügen." + #: ../src/common/connection.py:68 msgid "Unable to get issuer certificate" msgstr "Das Zertifikat des Ausstellers ist nicht verfügbar." @@ -4946,19 +4885,19 @@ msgstr "" msgid "Application verification failure" msgstr "Fehler beim Überprüfen der Anwendung" -#: ../src/common/connection.py:256 ../src/dialogs.py:2948 +#: ../src/common/connection.py:259 ../src/dialogs.py:3050 #, python-format msgid "It is not possible to send a message to %s, this JID is not valid." msgstr "" "Die Nachricht kann nicht an %s gesendet werden. Die Jabber-ID ist ungültig." -#: ../src/common/connection.py:278 +#: ../src/common/connection.py:281 msgid "Neither the remote presence is signed, nor a key was assigned." msgstr "" "Weder ist die entfernte Präsenz signiert, noch wurde ein Schlüssel " "zugewiesen." -#: ../src/common/connection.py:281 +#: ../src/common/connection.py:284 #, python-format msgid "The contact's key (%s) does not match the key assigned in Gajim." msgstr "" @@ -4967,11 +4906,11 @@ msgstr "" #. we're not english #. one in locale and one en -#: ../src/common/connection.py:333 +#: ../src/common/connection.py:337 msgid "[This message is *encrypted* (See :XEP:`27`]" msgstr "[Diese Nachricht ist *verschlüsselt* (Siehe: JEP:`27`)]" -#: ../src/common/connection.py:441 +#: ../src/common/connection.py:446 #, python-format msgid "" "Subject: %(subject)s\n" @@ -4980,83 +4919,81 @@ msgstr "" "Thema: %(subject)s\n" "%(message)s" -#: ../src/common/connection.py:809 +#: ../src/common/connection.py:839 #, python-format msgid "Connection with account \"%s\" has been lost" msgstr "Verbindung mit Konto \"%s\" abgebrochen" -#: ../src/common/connection.py:810 +#: ../src/common/connection.py:840 msgid "Reconnect manually." msgstr "Manuelle Neuverbindung." -#: ../src/common/connection.py:822 +#. it's a new account +#. wrong answer +#: ../src/common/connection.py:851 #, python-format msgid "Server %(name)s answered wrongly to register request: %(error)s" msgstr "" "Der Server %(name)s beantwortete die Registrierungsanfrage nicht korrekt: " "%(error)s" -#: ../src/common/connection.py:856 +#. requested config has changed since first connection +#: ../src/common/connection.py:893 #, python-format msgid "Server %s provided a different registration form" msgstr "Der Server %s hat ein anderes Registrierungsformular angeboten" -#: ../src/common/connection.py:869 -#, python-format -msgid "Unknown SSL error: %d" -msgstr "Unbekannter SSL-Fehler: %d" - #. wrong answer -#: ../src/common/connection.py:884 +#: ../src/common/connection.py:909 msgid "Invalid answer" msgstr "Ungültige Antwort" -#: ../src/common/connection.py:885 +#: ../src/common/connection.py:910 #, python-format msgid "Transport %(name)s answered wrongly to register request: %(error)s" msgstr "" "Der Transport %(name)s beantwortete die Registrierungsanfrage nicht korrekt: " "%(error)s" -#: ../src/common/connection.py:1167 ../src/common/connection.py:1296 -#: ../src/common/connection.py:1792 -#: ../src/common/zeroconf/connection_zeroconf.py:192 +#: ../src/common/connection.py:1198 ../src/common/connection.py:1332 +#: ../src/common/connection.py:1941 +#: ../src/common/zeroconf/connection_zeroconf.py:204 #, python-format msgid "Could not connect to \"%s\"" msgstr "Die Verbindung mit %s konnte nicht hergestellt werden." -#: ../src/common/connection.py:1168 ../src/gui_interface.py:632 +#: ../src/common/connection.py:1199 ../src/gui_interface.py:564 msgid "Check your connection or try again later." msgstr "" "Überprüfen Sie die Verbindung oder versuchen Sie es später noch einmal." -#: ../src/common/connection.py:1173 +#: ../src/common/connection.py:1204 #, python-format msgid "Server replied: %s" msgstr "Server antwortete: %s" -#: ../src/common/connection.py:1186 +#: ../src/common/connection.py:1217 msgid "Connection to proxy failed" msgstr "Verbindung mit Proxy fehlgeschlagen" -#: ../src/common/connection.py:1217 ../src/common/connection.py:1276 +#: ../src/common/connection.py:1249 ../src/common/connection.py:1311 #, python-format msgid "Could not connect to account %s" msgstr "Die Verbindung zum Konto %s konnte nicht hergestellt werden." -#: ../src/common/connection.py:1218 ../src/common/connection.py:1277 +#: ../src/common/connection.py:1250 ../src/common/connection.py:1312 #, python-format msgid "Connection with account %s has been lost. Retry connecting." msgstr "" "Die Verbindung zum Konto \"%s\" wurde unterbrochen. Sie wird " "wiederhergestellt." -#: ../src/common/connection.py:1243 +#: ../src/common/connection.py:1275 #, python-format msgid "The authenticity of the %s certificate could be invalid." msgstr "Die Authentizität des %s Zertifikats könnte ungültig sein." -#: ../src/common/connection.py:1246 +#: ../src/common/connection.py:1278 #, python-format msgid "" "\n" @@ -5065,7 +5002,7 @@ msgstr "" "\n" "SSL-Fehler: %s" -#: ../src/common/connection.py:1248 +#: ../src/common/connection.py:1280 #, python-format msgid "" "\n" @@ -5074,24 +5011,24 @@ msgstr "" "\n" "Unbekannter SSL-Fehler: %d" -#: ../src/common/connection.py:1297 +#: ../src/common/connection.py:1333 msgid "Check your connection or try again later" msgstr "Überprüfen Sie die Verbindung oder versuchen Sie es später noch einmal" -#: ../src/common/connection.py:1329 +#: ../src/common/connection.py:1367 #, python-format msgid "Authentication failed with \"%s\"" msgstr "Authentifizierung mit \"%s\" fehlgeschlagen" -#: ../src/common/connection.py:1331 +#: ../src/common/connection.py:1369 msgid "Please check your login and password for correctness." msgstr "Bitte überprüfen Sie Benutzernamen und Passwort." -#: ../src/common/connection.py:1400 +#: ../src/common/connection.py:1442 msgid "Error while removing privacy list" msgstr "Fehler beim Entfernen der Privatsphären-Liste" -#: ../src/common/connection.py:1401 +#: ../src/common/connection.py:1443 #, python-format msgid "" "Privacy list %s has not been removed. It is maybe active in one of your " @@ -5101,39 +5038,39 @@ msgstr "" "in einer Ihrer Verbindungen aktiv. Deaktivieren Sie diese und versuchen Sie " "es erneut." -#: ../src/common/connection.py:1658 +#: ../src/common/connection.py:1808 #, python-format msgid "Sent contact: \"%s\" (%s)" msgstr "Kontakt gesendet: \"%s\" (%s)" -#: ../src/common/connection.py:1661 +#: ../src/common/connection.py:1811 msgid "Sent contacts:" msgstr "Gesendete Kontakte:" -#: ../src/common/connection.py:1807 ../src/common/connection.py:1830 +#: ../src/common/connection.py:1958 ../src/common/connection.py:1981 msgid "Not fetched because of invisible status" msgstr "Nicht abgeholt, da der Status auf Unsichtbar gesetzt ist" -#: ../src/common/connection.py:2262 +#: ../src/common/connection.py:2511 msgid "Unregister failed" msgstr "De-Registrierung fehlgeschlagen" -#: ../src/common/connection.py:2263 +#: ../src/common/connection.py:2512 #, python-format msgid "Unregistration with server %(server)s failed: %(error)s" msgstr "De-Registrierung mit Server %(server)s fehlgeschlagen: %(error)s" -#: ../src/common/contacts.py:135 ../src/common/helpers.py:57 -#: ../src/gui_interface.py:551 +#: ../src/common/contacts.py:135 ../src/common/helpers.py:60 +#: ../src/gui_interface.py:507 msgid "Observers" msgstr "Beobachter" #: ../src/common/contacts.py:139 ../src/common/contacts.py:366 -#: ../src/common/helpers.py:57 ../src/disco.py:120 ../src/disco.py:121 -#: ../src/disco.py:1517 ../src/roster_window.py:854 -#: ../src/roster_window.py:1545 ../src/roster_window.py:1626 -#: ../src/roster_window.py:1628 ../src/roster_window.py:1790 -#: ../src/roster_window.py:2466 +#: ../src/common/helpers.py:60 ../src/disco.py:120 ../src/disco.py:121 +#: ../src/disco.py:1517 ../src/roster_window.py:856 +#: ../src/roster_window.py:1552 ../src/roster_window.py:1640 +#: ../src/roster_window.py:1642 ../src/roster_window.py:1804 +#: ../src/roster_window.py:2485 msgid "Transports" msgstr "Transporte" @@ -5156,14 +5093,12 @@ msgid "D-Bus does not run correctly on this machine" msgstr "D-Bus läuft nicht korrekt auf diesem Rechner" #: ../src/common/dbus_support.py:54 -#, fuzzy msgid "D-Bus does not run correctly on this machine: system bus not present" -msgstr "D-Bus läuft nicht korrekt auf diesem Rechner" +msgstr "D-Bus läuft nicht korrekt auf diesem Rechner: System Bus no present" #: ../src/common/dbus_support.py:57 -#, fuzzy msgid "D-Bus does not run correctly on this machine: session bus not present" -msgstr "D-Bus läuft nicht korrekt auf diesem Rechner" +msgstr "D-Bus läuft nicht korrekt auf diesem Rechner: Session Bus not present" #: ../src/common/exceptions.py:45 msgid "Database cannot be read." @@ -5175,28 +5110,28 @@ msgstr "" "Dienst nicht verfügbar: Gajim ist nicht aktiv oder remote_control ist " "deaktiviert." -#: ../src/common/exceptions.py:67 +#: ../src/common/exceptions.py:67 ../src/gajim-remote.py:55 msgid "D-Bus is not present on this machine or python module is missing" msgstr "" "D-Bus ist auf diesem Computer nicht vorhanden oder das Python-Modul fehlt." #: ../src/common/exceptions.py:78 -#, fuzzy, python-format +#, python-format msgid "" "Session bus is not available.\n" "Try reading %(url)s" msgstr "" -"Sitzungsbus ist nicht verfügbar.\n" -"Bitte lesen Sie http://trac.gajim.org/wiki/GajimDBus (Englisch)" +"Session Bus ist nicht verfügbar.\n" +"Bitte lesen Sie %(url)s" #: ../src/common/exceptions.py:90 -#, fuzzy, python-format +#, python-format msgid "" "System bus is not available.\n" "Try reading %(url)s" msgstr "" -"Sitzungsbus ist nicht verfügbar.\n" -"Bitte lesen Sie http://trac.gajim.org/wiki/GajimDBus (Englisch)" +"Session Bus ist nicht verfügbar.\n" +"Bitte lesen Sie %(url)s" #: ../src/common/fuzzyclock.py:38 msgid "twelve" @@ -5361,265 +5296,271 @@ msgstr "Ende der Woche" msgid "Weekend!" msgstr "Wochenende!" -#: ../src/common/helpers.py:148 +#: ../src/common/helpers.py:151 msgid "Username must be between 1 and 1023 chars" msgstr "" -#: ../src/common/helpers.py:153 +#: ../src/common/helpers.py:156 msgid "Invalid character in username." msgstr "Ungültiges Zeichen im Benutzernamen" -#: ../src/common/helpers.py:159 +#: ../src/common/helpers.py:162 msgid "Server must be between 1 and 1023 chars" msgstr "" -#: ../src/common/helpers.py:164 +#: ../src/common/helpers.py:167 msgid "Invalid character in hostname." msgstr "Ungültiges Zeichen im Rechnernamen." -#: ../src/common/helpers.py:166 +#: ../src/common/helpers.py:169 msgid "Server address required." msgstr "Server-Adresse benötigt." -#: ../src/common/helpers.py:170 +#: ../src/common/helpers.py:173 msgid "Resource must be between 1 and 1023 chars" msgstr "" -#: ../src/common/helpers.py:175 +#: ../src/common/helpers.py:178 msgid "Invalid character in resource." msgstr "Ungültiges Zeichen in der Ressource." -#: ../src/common/helpers.py:215 +#: ../src/common/helpers.py:218 msgid "_Busy" msgstr "_Beschäftigt" -#: ../src/common/helpers.py:217 ../src/tooltips.py:195 +#: ../src/common/helpers.py:220 ../src/tooltips.py:195 msgid "Busy" msgstr "Beschäftigt" -#: ../src/common/helpers.py:220 +#: ../src/common/helpers.py:223 msgid "_Not Available" msgstr "_Nicht verfügbar" -#: ../src/common/helpers.py:225 +#: ../src/common/helpers.py:225 ../src/tooltips.py:197 +msgid "Not Available" +msgstr "Nicht verfügbar" + +#: ../src/common/helpers.py:228 msgid "_Free for Chat" msgstr "_Frei zum Chatten" -#: ../src/common/helpers.py:227 ../src/tooltips.py:191 +#: ../src/common/helpers.py:230 ../src/tooltips.py:191 msgid "Free for Chat" msgstr "Frei zum Chatten" -#: ../src/common/helpers.py:230 -#, fuzzy +#: ../src/common/helpers.py:233 msgid "?user status:_Available" -msgstr "?Transferstatus:Pausiert" +msgstr "?Benutzerstatus:Verfügb_ar" -#: ../src/common/helpers.py:232 ../src/tooltips.py:189 -#, fuzzy +#: ../src/common/helpers.py:235 ../src/tooltips.py:189 msgid "?user status:Available" -msgstr "?Transferstatus:Pausiert" +msgstr "?Benutzerstatus:Verfügbar" -#: ../src/common/helpers.py:234 +#: ../src/common/helpers.py:237 msgid "Connecting" msgstr "Verbindung wird hergestellt" -#: ../src/common/helpers.py:237 +#: ../src/common/helpers.py:240 msgid "A_way" msgstr "Ab_wesend" -#: ../src/common/helpers.py:242 +#: ../src/common/helpers.py:245 msgid "_Offline" msgstr "A_bgemeldet" -#: ../src/common/helpers.py:244 ../src/tooltips.py:199 +#: ../src/common/helpers.py:247 ../src/tooltips.py:199 msgid "Offline" msgstr "Abgemeldet" -#: ../src/common/helpers.py:247 +#: ../src/common/helpers.py:250 msgid "_Invisible" msgstr "_Unsichtbar" -#: ../src/common/helpers.py:253 +#: ../src/common/helpers.py:252 +msgid "Invisible" +msgstr "Unsichtbar" + +#: ../src/common/helpers.py:256 msgid "?contact has status:Unknown" msgstr "?Kontakt hat Status: Unbekannt" -#: ../src/common/helpers.py:255 +#: ../src/common/helpers.py:258 msgid "?contact has status:Has errors" msgstr "?Kontakt hat Status: Hat einen Fehler" -#: ../src/common/helpers.py:260 +#: ../src/common/helpers.py:263 msgid "?Subscription we already have:None" msgstr "?Abonnement schon vorhanden:Keines" -#: ../src/common/helpers.py:262 +#: ../src/common/helpers.py:265 msgid "To" msgstr "An" -#: ../src/common/helpers.py:264 +#: ../src/common/helpers.py:267 msgid "From" msgstr "Von" -#: ../src/common/helpers.py:266 +#: ../src/common/helpers.py:269 msgid "Both" msgstr "Beide" -#: ../src/common/helpers.py:274 +#: ../src/common/helpers.py:277 msgid "?Ask (for Subscription):None" msgstr "?Frage nach Abonnement: Keine" -#: ../src/common/helpers.py:276 +#: ../src/common/helpers.py:279 msgid "Subscribe" msgstr "Abonnieren" -#: ../src/common/helpers.py:285 +#: ../src/common/helpers.py:288 msgid "?Group Chat Contact Role:None" msgstr "?Gruppenchat Kontaktrolle: Keine" -#: ../src/common/helpers.py:288 +#: ../src/common/helpers.py:291 msgid "Moderators" msgstr "Moderatoren" -#: ../src/common/helpers.py:290 +#: ../src/common/helpers.py:293 msgid "Moderator" msgstr "Moderator" -#: ../src/common/helpers.py:293 +#: ../src/common/helpers.py:296 msgid "Participants" msgstr "Teilnehmer" -#: ../src/common/helpers.py:295 +#: ../src/common/helpers.py:298 msgid "Participant" msgstr "Teilnehmer" -#: ../src/common/helpers.py:298 +#: ../src/common/helpers.py:301 msgid "Visitors" msgstr "Besucher" -#: ../src/common/helpers.py:300 +#: ../src/common/helpers.py:303 msgid "Visitor" msgstr "Besucher" -#: ../src/common/helpers.py:306 ../src/tooltips.py:210 +#: ../src/common/helpers.py:309 ../src/tooltips.py:210 msgid "?Group Chat Contact Affiliation:None" msgstr "?Gruppenchat Kontaktverbindung:Keine" -#: ../src/common/helpers.py:308 ../src/tooltips.py:216 +#: ../src/common/helpers.py:311 ../src/tooltips.py:216 msgid "Owner" msgstr "Besitzer" -#: ../src/common/helpers.py:310 ../src/tooltips.py:214 +#: ../src/common/helpers.py:313 ../src/tooltips.py:214 msgid "Administrator" msgstr "Administrator" -#: ../src/common/helpers.py:312 ../src/tooltips.py:212 +#: ../src/common/helpers.py:315 ../src/tooltips.py:212 msgid "Member" msgstr "Mitglied" -#: ../src/common/helpers.py:351 +#: ../src/common/helpers.py:354 msgid "is paying attention to the conversation" msgstr "beobachtet diese Unterhaltung" -#: ../src/common/helpers.py:353 +#: ../src/common/helpers.py:356 msgid "is doing something else" msgstr "tut etwas anderes" -#: ../src/common/helpers.py:355 +#: ../src/common/helpers.py:358 msgid "is composing a message..." msgstr "schreibt im Moment …" #. paused means he or she was composing but has stopped for a while -#: ../src/common/helpers.py:358 +#: ../src/common/helpers.py:361 msgid "paused composing a message" msgstr "macht gerade eine Schreibpause" -#: ../src/common/helpers.py:360 +#: ../src/common/helpers.py:363 msgid "has closed the chat window or tab" msgstr "hat das Chatfenster oder den Tab geschlossen" #. GiB means gibibyte -#: ../src/common/helpers.py:625 +#: ../src/common/helpers.py:628 #, python-format msgid "%s GiB" msgstr "%s GiB" #. GB means gigabyte -#: ../src/common/helpers.py:628 +#: ../src/common/helpers.py:631 #, python-format msgid "%s GB" msgstr "%s GB" #. MiB means mibibyte -#: ../src/common/helpers.py:632 +#: ../src/common/helpers.py:635 #, python-format msgid "%s MiB" msgstr "%s MiB" #. MB means megabyte -#: ../src/common/helpers.py:635 +#: ../src/common/helpers.py:638 #, python-format msgid "%s MB" msgstr "%s MB" #. KiB means kibibyte -#: ../src/common/helpers.py:639 +#: ../src/common/helpers.py:642 #, python-format msgid "%s KiB" msgstr "%s KiB" #. KB means kilo bytes -#: ../src/common/helpers.py:642 +#: ../src/common/helpers.py:645 #, python-format msgid "%s KB" msgstr "%s kB" #. B means bytes -#: ../src/common/helpers.py:645 +#: ../src/common/helpers.py:648 #, python-format msgid "%s B" msgstr "%s B" -#: ../src/common/helpers.py:1108 ../src/common/helpers.py:1115 +#: ../src/common/helpers.py:1099 ../src/common/helpers.py:1106 #, python-format msgid "%d message pending" msgid_plural "%d messages pending" msgstr[0] "%d neue Nachricht" msgstr[1] "%d neue Nachrichten" -#: ../src/common/helpers.py:1121 +#: ../src/common/helpers.py:1112 #, python-format msgid " from room %s" msgstr "Vom Chatraum %s" -#: ../src/common/helpers.py:1124 ../src/common/helpers.py:1143 +#: ../src/common/helpers.py:1115 ../src/common/helpers.py:1132 #, python-format msgid " from user %s" msgstr " vom Benutzer %s" -#: ../src/common/helpers.py:1126 +#: ../src/common/helpers.py:1117 #, python-format msgid " from %s" msgstr "Von %s" -#: ../src/common/helpers.py:1133 ../src/common/helpers.py:1140 +#: ../src/common/helpers.py:1124 ../src/common/helpers.py:1130 #, python-format msgid "%d event pending" msgid_plural "%d events pending" msgstr[0] "%d neues Ereignis" msgstr[1] "%d neue Ereignisse" -#: ../src/common/helpers.py:1173 +#: ../src/common/helpers.py:1162 #, python-format msgid "Gajim - %s" msgstr "Gajim - %s" #: ../src/common/helpers.py:1341 msgid "Hello, I am $name." -msgstr "" +msgstr "Hallo, Ich bin $name" #: ../src/common/jingle_rtp.py:107 -#, fuzzy, python-format +#, python-format msgid "%s configuration error" -msgstr "Chatraum-Einstellungen" +msgstr "%s Konfigurationsfehler" #: ../src/common/jingle_rtp.py:108 #, python-format @@ -5632,33 +5573,42 @@ msgid "" "Error was:\n" "%s" msgstr "" +"Konnte %s nicht aufsetzen. Überprüfen Sie Ihre Konfiguration\n" +"\n" +"Pipeline war:\n" +"%s\n" +"\n" +"Fehler war:\n" +"%s" #: ../src/common/jingle_rtp.py:205 msgid "GStreamer error" -msgstr "" +msgstr "Fehler mit GStreamer" #: ../src/common/jingle_rtp.py:206 -#, fuzzy, python-format +#, python-format msgid "" "Error: %s\n" "Debug: %s" -msgstr "Fehlermeldung: %s" +msgstr "" +"Fehler: %s\n" +"Debug: %s" #: ../src/common/jingle_rtp.py:335 msgid "audio input" -msgstr "" +msgstr "Audioaufnahme" #: ../src/common/jingle_rtp.py:338 msgid "audio output" -msgstr "" +msgstr "Audioausgabe" #: ../src/common/jingle_rtp.py:381 msgid "video input" -msgstr "" +msgstr "Videoaufnahme" -#: ../src/common/jingle_rtp.py:389 +#: ../src/common/jingle_rtp.py:390 msgid "video output" -msgstr "" +msgstr "Videoausgabe" #: ../src/common/latex.py:109 #, python-format @@ -5670,63 +5620,68 @@ msgstr "Fehler beim Ausführen von \"%(command)s\": %(error)s" msgid "%s is not a valid loglevel" msgstr "%s ist kein gültiger Loglevel." -#: ../src/common/multimedia_helpers.py:37 -#, fuzzy +#: ../src/common/multimedia_helpers.py:39 msgid " Default device" -msgstr "Standard-Nachricht" +msgstr "Standardgerät" #. Test src -#: ../src/common/multimedia_helpers.py:55 -#, fuzzy +#: ../src/common/multimedia_helpers.py:60 msgid "Audio test" -msgstr "Audio / Video" +msgstr "Audiotest" #. Auto src #. Auto sink #. Auto src -#: ../src/common/multimedia_helpers.py:58 -#: ../src/common/multimedia_helpers.py:71 -#: ../src/common/multimedia_helpers.py:84 -#: ../src/common/multimedia_helpers.py:101 +#: ../src/common/multimedia_helpers.py:63 +#: ../src/common/multimedia_helpers.py:79 +#: ../src/common/multimedia_helpers.py:93 +#: ../src/common/multimedia_helpers.py:111 msgid "Autodetect" -msgstr "" +msgstr "Automatische Erkennung" #. Alsa src #. Alsa sink -#: ../src/common/multimedia_helpers.py:61 -#: ../src/common/multimedia_helpers.py:73 -#, fuzzy, python-format +#: ../src/common/multimedia_helpers.py:66 +#: ../src/common/multimedia_helpers.py:81 +#, python-format msgid "ALSA: %s" -msgstr "Größe: %s" +msgstr "ALSA: %s" + +#. Pulseaudio src +#. Pulseaudio sink +#: ../src/common/multimedia_helpers.py:69 +#: ../src/common/multimedia_helpers.py:83 +#, fuzzy, python-format +msgid "Pulse: %s" +msgstr "Datei: %s" #. Fake sink #. Fake video output -#: ../src/common/multimedia_helpers.py:69 -#: ../src/common/multimedia_helpers.py:96 +#: ../src/common/multimedia_helpers.py:77 +#: ../src/common/multimedia_helpers.py:105 msgid "Fake audio output" -msgstr "" +msgstr "Simulierte Audioausgabe" #. Test src -#: ../src/common/multimedia_helpers.py:81 +#: ../src/common/multimedia_helpers.py:90 msgid "Video test" -msgstr "" +msgstr "Videotest" #. V4L2 src -#: ../src/common/multimedia_helpers.py:86 +#: ../src/common/multimedia_helpers.py:95 #, python-format msgid "V4L2: %s" -msgstr "" +msgstr "V4L2: %s" -#. Auto sink -#: ../src/common/multimedia_helpers.py:98 +#: ../src/common/multimedia_helpers.py:108 #, python-format msgid "X Window System (X11/XShm/Xv): %s" -msgstr "" +msgstr "X Window System (X11/XShm/Xv): %s" #. ximagesink -#: ../src/common/multimedia_helpers.py:100 +#: ../src/common/multimedia_helpers.py:110 msgid "X Window System (without Xv)" -msgstr "" +msgstr "X Window System (ohne Xv)" #. we talk about a file #: ../src/common/optparser.py:53 @@ -6375,19 +6330,19 @@ msgstr "Lernen" msgid "Writing" msgstr "Schreiben" -#: ../src/common/pep.py:340 +#: ../src/common/pep.py:339 msgid "Unknown Artist" msgstr "Unbekannter Künstler" -#: ../src/common/pep.py:343 +#: ../src/common/pep.py:342 msgid "Unknown Title" msgstr "Unbekannter Titel" -#: ../src/common/pep.py:346 +#: ../src/common/pep.py:345 msgid "Unknown Source" msgstr "Unbekannte Quelle" -#: ../src/common/pep.py:349 +#: ../src/common/pep.py:348 #, python-format msgid "" "\"%(title)s\" by %(artist)s\n" @@ -6409,7 +6364,7 @@ msgid "" msgstr "Möglicherweise läuft Gajim bereits. Dateiübertragung wird abgebrochen." #. we're not english -#: ../src/common/stanza_session.py:423 +#: ../src/common/stanza_session.py:424 msgid "" "[This is part of an encrypted session. If you see this message, something " "went wrong.]" @@ -6417,11 +6372,11 @@ msgstr "" "[Dies ist ein Teil einer verschlüsselten Unterhaltung. Wenn Sie diese " "Nachricht sehen, ist etwas schief gegangen.]" -#: ../src/common/zeroconf/connection_zeroconf.py:181 +#: ../src/common/zeroconf/connection_zeroconf.py:192 msgid "Avahi error" msgstr "Avahi-Fehler" -#: ../src/common/zeroconf/connection_zeroconf.py:182 +#: ../src/common/zeroconf/connection_zeroconf.py:193 #, python-format msgid "" "%s\n" @@ -6430,74 +6385,75 @@ msgstr "" "%s\n" "Lokaler Nachrichtenversand funktioniert eventuell nicht richtig." -#: ../src/common/zeroconf/connection_zeroconf.py:193 +#: ../src/common/zeroconf/connection_zeroconf.py:205 msgid "Please check if Avahi or Bonjour is installed." msgstr "Bitte überprüfen Sie, ob Avahi bzw. Bonjour installiert ist." -#: ../src/common/zeroconf/connection_zeroconf.py:202 -#: ../src/common/zeroconf/connection_zeroconf.py:206 +#: ../src/common/zeroconf/connection_zeroconf.py:215 +#: ../src/common/zeroconf/connection_zeroconf.py:219 msgid "Could not start local service" msgstr "Lokaler Dienst konnte nicht gestartet werden" -#: ../src/common/zeroconf/connection_zeroconf.py:203 +#: ../src/common/zeroconf/connection_zeroconf.py:216 #, python-format msgid "Unable to bind to port %d." msgstr "Die Verbindung mit Port %d ist fehlgeschlagen." -#: ../src/common/zeroconf/connection_zeroconf.py:207 -#: ../src/common/zeroconf/connection_zeroconf.py:286 -#: ../src/common/zeroconf/connection_zeroconf.py:297 -#: ../src/common/zeroconf/connection_zeroconf.py:311 +#: ../src/common/zeroconf/connection_zeroconf.py:220 +#: ../src/common/zeroconf/connection_zeroconf.py:304 +#: ../src/common/zeroconf/connection_zeroconf.py:317 +#: ../src/common/zeroconf/connection_zeroconf.py:333 msgid "Please check if avahi-daemon is running." msgstr "Bitte überprüfen Sie, ob avahi-daemon läuft." -#: ../src/common/zeroconf/connection_zeroconf.py:285 -#: ../src/common/zeroconf/connection_zeroconf.py:296 -#: ../src/common/zeroconf/connection_zeroconf.py:310 +#: ../src/common/zeroconf/connection_zeroconf.py:303 +#: ../src/common/zeroconf/connection_zeroconf.py:316 +#: ../src/common/zeroconf/connection_zeroconf.py:332 #, python-format msgid "Could not change status of account \"%s\"" msgstr "Der Status des Kontos \"%s\" konnte nicht geändert werden." -#: ../src/common/zeroconf/connection_zeroconf.py:328 +#: ../src/common/zeroconf/connection_zeroconf.py:351 +#: ../src/common/zeroconf/connection_zeroconf.py:390 msgid "Your message could not be sent." msgstr "Die Nachricht konnte nicht gesendet werden." -#. Contact Offline -#: ../src/common/zeroconf/connection_zeroconf.py:338 +#: ../src/common/zeroconf/connection_zeroconf.py:365 +#: ../src/common/zeroconf/connection_zeroconf.py:404 msgid "Contact is offline. Your message could not be sent." msgstr "Der Kontakt ist offline. Ihre Nachricht konnte nicht gesendet werden." -#: ../src/common/zeroconf/connection_zeroconf.py:363 +#: ../src/common/zeroconf/connection_zeroconf.py:432 msgid "" "Connection to host could not be established: Timeout while sending data." msgstr "" "Die Verbindung zum Server konnte nicht hergestellt werden: " "Zeitüberschreitung beim Senden von Daten." -#: ../src/common/zeroconf/zeroconf_avahi.py:192 +#: ../src/common/zeroconf/zeroconf_avahi.py:193 #: ../src/common/zeroconf/zeroconf_bonjour.py:191 #, python-format msgid "Error while adding service. %s" msgstr "Fehler beim Hinzufügen des Dienstes. %s" -#: ../src/config.py:397 +#: ../src/config.py:406 msgid "Default Message" msgstr "Standard-Nachricht" -#: ../src/config.py:406 +#: ../src/config.py:415 msgid "Enabled" msgstr "Aktiviert" -#: ../src/config.py:459 ../src/config.py:463 ../src/config.py:3095 +#: ../src/config.py:468 ../src/config.py:472 ../src/config.py:3105 msgid "Default" msgstr "Standard" -#: ../src/config.py:733 ../src/dialogs.py:1409 +#: ../src/config.py:746 ../src/dialogs.py:1493 #, python-format msgid "Dictionary for lang %s not available" msgstr "Kein Wörterburch für die Sprache %s verfügbar" -#: ../src/config.py:734 +#: ../src/config.py:747 #, python-format msgid "" "You have to install %s dictionary to use spellchecking, or choose another " @@ -6506,73 +6462,73 @@ msgstr "" "Sie müssen das Wörterbuch %s installieren oder eine andere Sprache wählen, " "um die Rechtschreibprüfung nutzen zu können." -#: ../src/config.py:1214 +#: ../src/config.py:1223 msgid "status message title" msgstr "Statusbetreff" -#: ../src/config.py:1214 +#: ../src/config.py:1223 msgid "status message text" msgstr "Statusnachricht" #. Name column -#: ../src/config.py:1514 ../src/dialogs.py:2399 ../src/dialogs.py:2465 -#: ../src/dialogs.py:3231 ../src/disco.py:884 ../src/disco.py:1744 -#: ../src/disco.py:2048 ../src/history_window.py:90 +#: ../src/config.py:1523 ../src/dialogs.py:2498 ../src/dialogs.py:2565 +#: ../src/dialogs.py:3352 ../src/disco.py:886 ../src/disco.py:1744 +#: ../src/disco.py:2046 ../src/history_window.py:90 msgid "Name" msgstr "Name" -#: ../src/config.py:1609 +#: ../src/config.py:1618 msgid "Relogin now?" msgstr "Jetzt erneut anmelden?" -#: ../src/config.py:1610 +#: ../src/config.py:1619 msgid "If you want all the changes to apply instantly, you must relogin." msgstr "" "Wenn die Änderungen sofort übernommen werden sollen, müssen Sie sich erneut " "anmelden." # TODO: GPG/PGP unification in original strings needed -#: ../src/config.py:1764 ../src/config.py:1893 +#: ../src/config.py:1773 ../src/config.py:1902 msgid "OpenPGP is not usable on this computer" msgstr "OpenPGP kann auf diesem Computer nicht genutzt werden." -#: ../src/config.py:1933 ../src/config.py:1980 +#: ../src/config.py:1942 ../src/config.py:1989 msgid "Unread events" msgstr "Ungelesene Ereignisse" -#: ../src/config.py:1934 +#: ../src/config.py:1943 msgid "Read all pending events before removing this account." msgstr "Alle ungelesenen Ereignisse anzeigen, bevor das Konto entfernt wird." -#: ../src/config.py:1963 +#: ../src/config.py:1972 #, python-format msgid "You have opened chat in account %s" msgstr "Sie haben mit dem Konto %s einen Chat geöffnet." -#: ../src/config.py:1964 +#: ../src/config.py:1973 msgid "All chat and groupchat windows will be closed. Do you want to continue?" msgstr "Alle Chatfenster werden geschlossen. Fortfahren?" -#: ../src/config.py:1976 ../src/config.py:2511 ../src/config.py:2547 +#: ../src/config.py:1985 ../src/config.py:2521 ../src/config.py:2557 msgid "You are currently connected to the server" msgstr "Sie sind mit dem Server verbunden." -#: ../src/config.py:1977 +#: ../src/config.py:1986 msgid "To change the account name, you must be disconnected." msgstr "" "Die Verbindung muss beendet werden, damit der Kontoname geändert werden kann." -#: ../src/config.py:1981 +#: ../src/config.py:1990 msgid "To change the account name, you must read all pending events." msgstr "" "Damit der Kontoname geändert werden kann, müssen Sie zuvor alle neuen " "Ereignisse lesen." -#: ../src/config.py:1987 +#: ../src/config.py:1996 msgid "Account Name Already Used" msgstr "Der Kontoname wird bereits verwendet." -#: ../src/config.py:1988 +#: ../src/config.py:1997 msgid "" "This name is already used by another of your accounts. Please choose another " "name." @@ -6580,152 +6536,152 @@ msgstr "" "Dieser Name wird bereits für eines Ihrer Konten verwendet. Bitte wählen Sie " "einen anderen Namen." -#: ../src/config.py:1992 ../src/config.py:1996 +#: ../src/config.py:2001 ../src/config.py:2005 msgid "Invalid account name" msgstr "Ungültiger Kontoname" -#: ../src/config.py:1993 +#: ../src/config.py:2002 msgid "Account name cannot be empty." msgstr "Der Kontoname darf nicht leer sein." -#: ../src/config.py:1997 +#: ../src/config.py:2006 msgid "Account name cannot contain spaces." msgstr "Der Kontoname darf keine Leerzeichen enthalten." -#: ../src/config.py:2074 +#: ../src/config.py:2083 msgid "Rename Account" msgstr "Konto umbenennen" -#: ../src/config.py:2075 +#: ../src/config.py:2084 #, python-format msgid "Enter a new name for account %s" msgstr "Geben Sie einen neuen Namen für das Konto %s ein" -#: ../src/config.py:2103 +#: ../src/config.py:2112 msgid "A Jabber ID must be in the form \"user@servername\"." msgstr "Die Jabber-ID muss in der Form \"benutzer@servername\" sein." -#: ../src/config.py:2320 ../src/config.py:3623 +#: ../src/config.py:2329 ../src/config.py:3654 msgid "Invalid entry" msgstr "Ungültiger Eintrag" -#: ../src/config.py:2321 ../src/config.py:3624 +#: ../src/config.py:2330 ../src/config.py:3655 msgid "Custom port must be a port number." msgstr "Der Proxy-Port muss eine gültige Portnummer sein." -#: ../src/config.py:2342 +#: ../src/config.py:2351 msgid "Failed to get secret keys" msgstr "Die geheimen Schlüssel konnten nicht empfangen werden." # TODO: GPG/PGP unification in original strings needed -#: ../src/config.py:2343 +#: ../src/config.py:2352 msgid "There is no OpenPGP secret key available." msgstr "Kein GPG-Schlüssel verfügbar." # TODO: GPG/PGP unification in original strings needed -#: ../src/config.py:2377 +#: ../src/config.py:2386 msgid "OpenPGP Key Selection" msgstr "OpenPGP-Schlüssel-Auswahl" # TODO: GPG/PGP unification in original strings needed -#: ../src/config.py:2378 +#: ../src/config.py:2387 msgid "Choose your OpenPGP key" msgstr "Wählen Sie Ihren OpenPGP-Schlüssel" -#: ../src/config.py:2385 +#: ../src/config.py:2394 msgid "No such account available" msgstr "Das angegebene Konto ist nicht verfügbar" -#: ../src/config.py:2386 +#: ../src/config.py:2395 msgid "You must create your account before editing your personal information." msgstr "" "Sie müssen ein Konto erstellen, bevor Sie die persönlichen Informationen " "ändern können." -#: ../src/config.py:2393 ../src/dialogs.py:2152 ../src/dialogs.py:2387 -#: ../src/dialogs.py:2573 ../src/disco.py:512 ../src/profile_window.py:340 +#: ../src/config.py:2402 ../src/dialogs.py:2251 ../src/dialogs.py:2487 +#: ../src/dialogs.py:2675 ../src/disco.py:515 ../src/profile_window.py:361 msgid "You are not connected to the server" msgstr "Sie sind nicht mit dem Server verbunden." -#: ../src/config.py:2394 +#: ../src/config.py:2403 msgid "Without a connection, you can not edit your personal information." msgstr "" "Sie müssen angemeldet sein, um Ihre persönlichen Informationen ändern zu " "können." -#: ../src/config.py:2398 +#: ../src/config.py:2407 msgid "Your server doesn't support Vcard" msgstr "Ihr Server unterstützt keine vCard." -#: ../src/config.py:2399 +#: ../src/config.py:2408 msgid "Your server can't save your personal information." msgstr "Ihr Server kann keine persönlichen Informationen speichern." -#: ../src/config.py:2512 ../src/config.py:2548 +#: ../src/config.py:2522 ../src/config.py:2558 msgid "To disable the account, you must be disconnected." msgstr "Zum Deaktivieren des Kontos, müssen Sie offline sein." -#: ../src/config.py:2517 +#: ../src/config.py:2527 msgid "Account Local already exists." msgstr "Ein Konto mit dem Namen 'Local' ist bereits vorhanden." -#: ../src/config.py:2518 +#: ../src/config.py:2528 msgid "Please rename or remove it before enabling link-local messaging." msgstr "" "Bitte benennen Sie es um oder entfernen es, bevor Sie LAN-Kontakte " "aktivieren." -#: ../src/config.py:2675 +#: ../src/config.py:2685 #, python-format msgid "Edit %s" msgstr "%s bearbeiten" -#: ../src/config.py:2677 +#: ../src/config.py:2687 #, python-format msgid "Register to %s" msgstr "Auf %s registrieren" #. list at the beginning -#: ../src/config.py:2713 +#: ../src/config.py:2723 msgid "Ban List" msgstr "Sperrliste" -#: ../src/config.py:2714 +#: ../src/config.py:2724 msgid "Member List" msgstr "Mitgliederliste" -#: ../src/config.py:2714 +#: ../src/config.py:2724 msgid "Owner List" msgstr "Besitzerliste" -#: ../src/config.py:2715 +#: ../src/config.py:2725 msgid "Administrator List" msgstr "Administratorliste" #. Address column #. holds JID (who said this) -#: ../src/config.py:2779 ../src/disco.py:891 ../src/history_manager.py:201 +#: ../src/config.py:2789 ../src/disco.py:893 ../src/history_manager.py:207 msgid "JID" msgstr "Jabber-ID" -#: ../src/config.py:2789 +#: ../src/config.py:2799 msgid "Reason" msgstr "Grund" -#: ../src/config.py:2796 +#: ../src/config.py:2806 msgid "Nick" msgstr "Spitzname" -#: ../src/config.py:2802 +#: ../src/config.py:2812 msgid "Role" msgstr "Rolle" -#: ../src/config.py:2829 +#: ../src/config.py:2839 msgid "Banning..." msgstr "Verbannen …" #. You can move '\n' before user@domain if that line is TOO BIG -#: ../src/config.py:2831 +#: ../src/config.py:2841 msgid "" "Whom do you want to ban?\n" "\n" @@ -6733,11 +6689,11 @@ msgstr "" "Wen möchten Sie verbannen?\n" "\n" -#: ../src/config.py:2833 +#: ../src/config.py:2843 msgid "Adding Member..." msgstr "Mitglied hinzufügen …" -#: ../src/config.py:2834 +#: ../src/config.py:2844 msgid "" "Whom do you want to make a member?\n" "\n" @@ -6745,11 +6701,11 @@ msgstr "" "Wen möchten Sie zum Mitglied machen?\n" "\n" -#: ../src/config.py:2836 +#: ../src/config.py:2846 msgid "Adding Owner..." msgstr "Besitzer hinzufügen …" -#: ../src/config.py:2837 +#: ../src/config.py:2847 msgid "" "Whom do you want to make an owner?\n" "\n" @@ -6757,11 +6713,11 @@ msgstr "" "Wen möchten Sie zum Besitzer machen?\n" "\n" -#: ../src/config.py:2839 +#: ../src/config.py:2849 msgid "Adding Administrator..." msgstr "Administrator hinzufügen …" -#: ../src/config.py:2840 +#: ../src/config.py:2850 msgid "" "Whom do you want to make an administrator?\n" "\n" @@ -6769,7 +6725,7 @@ msgstr "" "Wen möchten Sie zum Administrator machen?\n" "\n" -#: ../src/config.py:2841 +#: ../src/config.py:2851 msgid "" "Can be one of the following:\n" "1. user@domain/resource (only that resource matches).\n" @@ -6786,111 +6742,110 @@ msgstr "" "benutzer@domain, jede domain/Ressource oder jede Adresse, die eine Subdomain " "enthält)." -#: ../src/config.py:2943 +#: ../src/config.py:2952 #, python-format msgid "Removing %s account" msgstr "Entferne Konto %s" -#: ../src/config.py:2958 -#, fuzzy +#: ../src/config.py:2967 msgid "Account is disabled" -msgstr "Emoticons deaktiviert" +msgstr "Konto ist deaktiviert" -#: ../src/config.py:2959 +#: ../src/config.py:2968 msgid "To unregister from a server, account must be enabled." -msgstr "" +msgstr "Um sich vom Server abzumelden, muss das Konto aktiviert sein." -#: ../src/config.py:2972 ../src/gui_interface.py:311 -#: ../src/gui_interface.py:1048 +#: ../src/config.py:2981 ../src/gui_interface.py:271 +#: ../src/gui_interface.py:723 msgid "Password Required" msgstr "Passwort benötigt" -#: ../src/config.py:2973 ../src/gui_interface.py:1028 +#: ../src/config.py:2982 ../src/gui_interface.py:703 #, python-format msgid "Enter your password for account %s" msgstr "Bitte geben Sie Ihr Passwort für %s ein" -#: ../src/config.py:2974 ../src/gui_interface.py:1048 +#: ../src/config.py:2983 ../src/gui_interface.py:723 msgid "Save password" msgstr "Passwort speichern" -#: ../src/config.py:2984 +#: ../src/config.py:2993 #, python-format msgid "Account \"%s\" is connected to the server" msgstr "Das Konto \"%s\" ist mit dem Server verbunden" -#: ../src/config.py:2985 +#: ../src/config.py:2994 msgid "If you remove it, the connection will be lost." msgstr "Wenn Sie es entfernen, wird die Verbindung beendet." -#: ../src/config.py:2999 -#, fuzzy, python-format +#: ../src/config.py:3008 +#, python-format msgid "Connection to server %s failed" -msgstr "Verbindung mit Proxy fehlgeschlagen" +msgstr "Verbindung zu Server %s fehlgeschlagen" -#: ../src/config.py:3000 -#, fuzzy +#: ../src/config.py:3009 msgid "What would you like to do?" msgstr "Was möchten Sie tun?" -#: ../src/config.py:3001 -#, fuzzy +#: ../src/config.py:3010 msgid "Remove only from Gajim" -msgstr "Kont_o entfernen (nur in Gajim)" +msgstr "Kont_o nur aus Gajim entfernen" -#: ../src/config.py:3002 +#: ../src/config.py:3011 msgid "Don't remove anything. I'll try again later" -msgstr "" +msgstr "Bitte nichts entfernen. Ich versuche es später noch einmal" -#: ../src/config.py:3095 +#: ../src/config.py:3105 msgid "?print_status:All" msgstr "?print_status:Alle" -#: ../src/config.py:3096 +#: ../src/config.py:3106 msgid "Enter and leave only" msgstr "Nur betreten und verlassen" -#: ../src/config.py:3097 +#: ../src/config.py:3107 msgid "?print_status:None" msgstr "?print_status:Nichts" -#: ../src/config.py:3167 +#: ../src/config.py:3179 msgid "New Group Chat" msgstr "Neuer Gruppenchat" # TODO: make decisision about how to handle original string referring to a bookmarked groupchat. -#: ../src/config.py:3200 +#: ../src/config.py:3212 msgid "This bookmark has invalid data" msgstr "Dieser gespeicherte Chatraum beinhaltet ungültige Daten" -#: ../src/config.py:3201 +#: ../src/config.py:3213 msgid "" "Please be sure to fill out server and room fields or remove this bookmark." msgstr "" "Bitte Server- und Chatraumfeld ausfüllen oder gespeicherten Chatraum löschen." #. invalid char -#: ../src/config.py:3319 ../src/dialogs.py:1950 +#: ../src/config.py:3338 ../src/dialogs.py:2040 msgid "Invalid nickname" msgstr "Ungültiger Benutzername" -#: ../src/config.py:3320 ../src/config.py:3334 ../src/config.py:3348 +#: ../src/config.py:3339 ../src/config.py:3350 ../src/config.py:3359 +#: ../src/config.py:3370 ../src/config.py:3378 msgid "Character not allowed" msgstr "Zeichen nicht erlaubt" -#: ../src/config.py:3333 ../src/config.py:3599 +#: ../src/config.py:3350 ../src/config.py:3358 ../src/config.py:3370 +#: ../src/config.py:3630 msgid "Invalid server" msgstr "Ungültiger Server" -#: ../src/config.py:3347 +#: ../src/config.py:3377 msgid "Invalid room" msgstr "Ungültiger Raum" -#: ../src/config.py:3515 +#: ../src/config.py:3546 msgid "Account has been added successfully" msgstr "Konto wurde erfolgreich hinzugefügt" -#: ../src/config.py:3516 ../src/config.py:3522 +#: ../src/config.py:3547 ../src/config.py:3553 msgid "" "You can set advanced account options by pressing the Advanced button, or " "later by choosing the Accounts menu item under the Edit menu from the main " @@ -6900,35 +6855,35 @@ msgstr "" "Button drücken, oder später den Eintrag Konto im Ändern Menü in der " "Kontaktliste auswählen." -#: ../src/config.py:3521 +#: ../src/config.py:3552 msgid "Your new account has been created successfully" msgstr "Ihr neues Konto wurde erfolgreich erstellt" -#: ../src/config.py:3560 +#: ../src/config.py:3591 msgid "Invalid username" msgstr "Ungültiger Benutzername" -#: ../src/config.py:3562 +#: ../src/config.py:3593 msgid "You must provide a username to configure this account." msgstr "" "Sie müssen einen Benutzernamen angeben, um dieses Konto zu konfigurieren." -#: ../src/config.py:3600 +#: ../src/config.py:3631 msgid "Please provide a server on which you want to register." msgstr "Bitte geben Sie den Server an, bei dem Sie sich registrieren möchten." -#: ../src/config.py:3656 ../src/gui_interface.py:1693 +#: ../src/config.py:3687 ../src/gui_interface.py:1201 msgid "Certificate Already in File" msgstr "Zertifikat bereits in der Datei" -#: ../src/config.py:3657 ../src/gui_interface.py:1694 +#: ../src/config.py:3688 ../src/gui_interface.py:1202 #, python-format msgid "This certificate is already in file %s, so it's not added again." msgstr "" "Dieses Zertifikat wird nicht erneut hinzugefügt, da es sich bereit in der " "Datei %s befindet." -#: ../src/config.py:3734 +#: ../src/config.py:3765 #, python-format msgid "" "Security Warning\n" @@ -6943,7 +6898,7 @@ msgstr "" "SSL-Fehler: %(error)s\n" "Möchten Sie sich dennoch zum Server verbinden?" -#: ../src/config.py:3740 ../src/gui_interface.py:1721 +#: ../src/config.py:3771 ../src/gui_interface.py:1230 #, python-format msgid "" "Add this certificate to the list of trusted certificates.\n" @@ -6954,72 +6909,77 @@ msgstr "" "SHA1-Fingerprint dieses Zertifikates:\n" "%s" -#: ../src/config.py:3772 ../src/config.py:3806 +#: ../src/config.py:3803 ../src/config.py:3837 msgid "An error occurred during account creation" msgstr "Während der Konto-Erstellung ist ein Fehler aufgetreten" -#: ../src/config.py:3871 +#: ../src/config.py:3902 msgid "Account name is in use" msgstr "Der Kontoname ist bereits vergeben" -#: ../src/config.py:3872 +#: ../src/config.py:3903 msgid "You already have an account using this name." msgstr "Sie haben bereits ein Konto mit diesem Namen." -#: ../src/config.py:3991 +#: ../src/config.py:4033 msgid "PEP node was not removed" msgstr "PEP-Knoten wurde nicht entfernt" -#: ../src/config.py:3992 +#: ../src/config.py:4034 #, python-format msgid "PEP node %(node)s was not removed: %(message)s" msgstr "Der PEP-Knoten %(node)s wurde nicht entfernt: %(message)s" -#: ../src/config.py:4036 +#: ../src/config.py:4062 +#, fuzzy, python-format +msgid "Configure %s" +msgstr "_Einstellen" + +#: ../src/config.py:4078 ../src/plugins/gui.py:73 msgid "Active" msgstr "Aktiv" -#: ../src/config.py:4044 +#: ../src/config.py:4086 msgid "Event" msgstr "Ereignis" -#: ../src/config.py:4079 +#: ../src/config.py:4121 msgid "First Message Received" msgstr "Erste empfangene Nachricht" -#: ../src/config.py:4080 +#: ../src/config.py:4122 msgid "Next Message Received Focused" msgstr "Nächste empfangene Nachricht ausgewählt" -#: ../src/config.py:4082 +#: ../src/config.py:4124 msgid "Next Message Received Unfocused" msgstr "Nächste empfangene Nachricht nicht ausgewählt" -#: ../src/config.py:4083 +#: ../src/config.py:4125 msgid "Contact Connected" msgstr "Kontakt verbunden" -#: ../src/config.py:4084 +#: ../src/config.py:4126 msgid "Contact Disconnected" msgstr "Kontakt nicht verbunden" -#: ../src/config.py:4085 +#: ../src/config.py:4127 msgid "Message Sent" msgstr "Nachricht gesendet" -#: ../src/config.py:4086 +#: ../src/config.py:4128 msgid "Group Chat Message Highlight" msgstr "Hervorhebung von Chatraum-Nachrichten" -#: ../src/config.py:4087 +#: ../src/config.py:4129 msgid "Group Chat Message Received" msgstr "Chatraum-Nachricht empfangen" -#: ../src/config.py:4088 +#: ../src/config.py:4130 msgid "GMail Email Received" msgstr "E-Mail über Google-Mail empfangen" -#: ../src/conversation_textview.py:601 +#: ../src/conversation_textview.py:603 msgid "" "This icon indicates that this message has not yet\n" "been received by the remote end. If this icon stays\n" @@ -7029,7 +6989,7 @@ msgstr "" "am anderen Ende eingetroffen ist. Falls es längere\n" "Zeit bleibt, ging die Nachricht höchstwahrscheinlich verloren." -#: ../src/conversation_textview.py:620 +#: ../src/conversation_textview.py:622 msgid "" "Text below this line is what has been said since the\n" "last time you paid attention to this group chat" @@ -7037,236 +6997,235 @@ msgstr "" "Der Text unterhalb dieser Linie zeigt, was seit Ihrem letzten Besuch in " "diesem Chatraum gesagt wurde." -#: ../src/conversation_textview.py:740 +#: ../src/conversation_textview.py:742 msgid "_Quote" msgstr "_Zitieren" -#: ../src/conversation_textview.py:747 +#: ../src/conversation_textview.py:749 #, python-format msgid "_Actions for \"%s\"" msgstr "_Aktionen für \"%s\"" -#: ../src/conversation_textview.py:760 +#: ../src/conversation_textview.py:762 msgid "Read _Wikipedia Article" msgstr "_Wikipedia-Artikel lesen" -#: ../src/conversation_textview.py:765 +#: ../src/conversation_textview.py:767 msgid "Look it up in _Dictionary" msgstr "Im Wörterbuch _suchen" -#: ../src/conversation_textview.py:782 +#: ../src/conversation_textview.py:784 #, python-format msgid "Dictionary URL is missing an \"%s\" and it is not WIKTIONARY" msgstr "Im Wörterbuch URL fehlt ein \"%s\" und ist nicht Wiktionary" #. we must have %s in the url -#: ../src/conversation_textview.py:795 +#: ../src/conversation_textview.py:797 #, python-format msgid "Web Search URL is missing an \"%s\"" msgstr "In der URL für die Websuche fehlt ein \"%s\"" -#: ../src/conversation_textview.py:798 +#: ../src/conversation_textview.py:800 msgid "Web _Search for it" msgstr "Im _Internet hiernach suchen" -#: ../src/conversation_textview.py:804 +#: ../src/conversation_textview.py:806 msgid "Open as _Link" msgstr "Als _Link öffnen" #. %i is day in year (1-365) -#: ../src/conversation_textview.py:1298 +#: ../src/conversation_textview.py:1309 #, python-format msgid "Yesterday" -msgid_plural "%i days ago" +msgid_plural "%(nb_days)i days ago" msgstr[0] "Gestern" -msgstr[1] "vor %i Tagen" +msgstr[1] "vor %(nb_days)i Tagen" #. if we have subject, show it too! -#: ../src/conversation_textview.py:1346 ../src/history_window.py:480 +#: ../src/conversation_textview.py:1358 ../src/history_window.py:480 #, python-format msgid "Subject: %s\n" msgstr "Thema: %s\n" -#: ../src/dataforms_widget.py:545 -#, fuzzy +#: ../src/dataforms_widget.py:565 msgid "Unable to load image" -msgstr "Konnte Idle-Modul nicht laden" +msgstr "Konnte Bild nicht laden" -#: ../src/dataforms_widget.py:547 -#, fuzzy, python-format +#: ../src/dataforms_widget.py:567 +#, python-format msgid "Media type not supported: %s" -msgstr "Unsichtbarkeit wird nicht unterstützt" +msgstr "Medientyp wird nicht unterstützt" -#: ../src/dataforms_widget.py:562 +#: ../src/dataforms_widget.py:582 msgid "This field is required" msgstr "" -#: ../src/dataforms_widget.py:607 +#: ../src/dataforms_widget.py:627 msgid "Jabber ID already in list" msgstr "Die Jabber-ID steht bereits in der Liste" -#: ../src/dataforms_widget.py:608 +#: ../src/dataforms_widget.py:628 msgid "The Jabber ID you entered is already in the list. Choose another one." msgstr "" "Die eingegebene Jabber-ID ist bereits in der Liste. Wählen Sie bitte eine " "andere." #. Default jid -#: ../src/dataforms_widget.py:619 +#: ../src/dataforms_widget.py:639 msgid "new@jabber.id" msgstr "neu@jabber.id" -#: ../src/dataforms_widget.py:622 ../src/dataforms_widget.py:624 +#: ../src/dataforms_widget.py:642 ../src/dataforms_widget.py:644 #, python-format msgid "new%d@jabber.id" msgstr "neu%d@jabber.id" -#: ../src/dialogs.py:82 +#: ../src/dialogs.py:81 #, python-format msgid "Contact name: %s" msgstr "Kontaktname: %s" -#: ../src/dialogs.py:84 +#: ../src/dialogs.py:83 #, python-format msgid "Jabber ID: %s" msgstr "Jabber-ID: %s" -#: ../src/dialogs.py:195 +#: ../src/dialogs.py:197 msgid "Group" msgstr "Gruppe" -#: ../src/dialogs.py:202 +#: ../src/dialogs.py:204 msgid "In the group" msgstr "In der Gruppe" -#: ../src/dialogs.py:293 +#: ../src/dialogs.py:295 msgid "KeyID" msgstr "Schlüssel-ID" -#: ../src/dialogs.py:298 +#: ../src/dialogs.py:300 msgid "Contact name" msgstr "Name des Kontakts" -#: ../src/dialogs.py:470 +#: ../src/dialogs.py:475 msgid "Set Mood" msgstr "Stimmung setzen" -#: ../src/dialogs.py:590 +#: ../src/dialogs.py:595 #, python-format msgid "%s Status Message" msgstr "%s Statusnachricht" -#: ../src/dialogs.py:604 +#: ../src/dialogs.py:609 msgid "Status Message" msgstr "Statusnachricht" -#: ../src/dialogs.py:794 +#: ../src/dialogs.py:800 msgid "Overwrite Status Message?" msgstr "Statusnachricht überschreiben" -#: ../src/dialogs.py:795 +#: ../src/dialogs.py:801 msgid "" "This name is already used. Do you want to overwrite this status message?" msgstr "" "Dieser Name wird bereits verwendet. Möchten Sie die Statusnachricht " "überschreiben?" -#: ../src/dialogs.py:803 +#: ../src/dialogs.py:809 msgid "Save as Preset Status Message" msgstr "Als Vorlage für Statusnachrichten speichern" -#: ../src/dialogs.py:804 +#: ../src/dialogs.py:810 msgid "Please type a name for this status message" msgstr "Bitte geben Sie einen Namen für diese Statusnachricht ein:" -#: ../src/dialogs.py:832 +#: ../src/dialogs.py:838 msgid "AIM Address:" msgstr "AIM-Adresse" -#: ../src/dialogs.py:833 +#: ../src/dialogs.py:839 msgid "GG Number:" msgstr "GG-Nummer" -#: ../src/dialogs.py:834 +#: ../src/dialogs.py:840 msgid "ICQ Number:" msgstr "ICQ-Nummer" -#: ../src/dialogs.py:835 +#: ../src/dialogs.py:841 msgid "MSN Address:" msgstr "MSN-Adresse" -#: ../src/dialogs.py:836 +#: ../src/dialogs.py:842 msgid "Yahoo! Address:" msgstr "Yahoo-Adresse" -#: ../src/dialogs.py:873 +#: ../src/dialogs.py:879 #, python-format msgid "Please fill in the data of the contact you want to add in account %s" msgstr "" "Bitte füllen Sie die Daten für den Kontakt aus, den Sie dem Konto %s " "hinzufügen wollen" -#: ../src/dialogs.py:876 +#: ../src/dialogs.py:882 msgid "Please fill in the data of the contact you want to add" msgstr "Bitte geben Sie die Daten des neuen Kontakts ein" -#: ../src/dialogs.py:1045 ../src/dialogs.py:1051 ../src/dialogs.py:1056 -#: ../src/dialogs.py:3464 +#: ../src/dialogs.py:1074 ../src/dialogs.py:1080 ../src/dialogs.py:1085 +#: ../src/dialogs.py:3585 msgid "Invalid User ID" msgstr "Ungültige Benutzer-ID" -#: ../src/dialogs.py:1052 +#: ../src/dialogs.py:1081 msgid "The user ID must not contain a resource." msgstr "Die Benutzer-ID darf keine Ressource enthalten." -#: ../src/dialogs.py:1057 +#: ../src/dialogs.py:1086 msgid "You cannot add yourself to your roster." msgstr "Sie können sich nicht selbst zu Ihrer Kontaktliste hinzuzufügen." -#: ../src/dialogs.py:1071 +#: ../src/dialogs.py:1100 msgid "Contact already in roster" msgstr "Kontakt bereits in der Kontaktliste" -#: ../src/dialogs.py:1072 +#: ../src/dialogs.py:1101 msgid "This contact is already listed in your roster." msgstr "Der angegebene Kontakt befindet sich bereits in Ihrer Kontaktliste." -#: ../src/dialogs.py:1118 +#: ../src/dialogs.py:1154 ../src/dialogs.py:1188 msgid "User ID:" msgstr "_Benutzer-ID:" -#: ../src/dialogs.py:1189 +#: ../src/dialogs.py:1273 msgid "A GTK+ jabber client" msgstr "Ein Jabber-Client in GTK+" -#: ../src/dialogs.py:1190 +#: ../src/dialogs.py:1274 msgid "GTK+ Version:" msgstr "GTK+-Version:" -#: ../src/dialogs.py:1191 +#: ../src/dialogs.py:1275 msgid "PyGTK Version:" msgstr "PyGTK-Version" -#: ../src/dialogs.py:1201 +#: ../src/dialogs.py:1285 msgid "Current Developers:" msgstr "Derzeitige Entwickler:" -#: ../src/dialogs.py:1203 +#: ../src/dialogs.py:1287 msgid "Past Developers:" msgstr "Frühere Entwickler:" -#: ../src/dialogs.py:1209 +#: ../src/dialogs.py:1293 msgid "THANKS:" msgstr "DANKE:" #. remove one english sentence #. and add it manually as translatable -#: ../src/dialogs.py:1215 +#: ../src/dialogs.py:1299 msgid "Last but not least, we would like to thank all the package maintainers." msgstr "Zuletzt möchten wird gerne allen Paket-Verwaltern danken." #. here you write your name in the form Name FamilyName -#: ../src/dialogs.py:1227 +#: ../src/dialogs.py:1311 msgid "translator-credits" msgstr "" "Fridtjof Busse\n" @@ -7276,7 +7235,7 @@ msgstr "" "Nico Gulden (cilugnedon AT gmx.de)\n" "Niklas Hambüchen (nh2 AT deditus.de)" -#: ../src/dialogs.py:1410 +#: ../src/dialogs.py:1494 #, python-format msgid "" "You have to install %s dictionary to use spellchecking, or choose another " @@ -7289,101 +7248,109 @@ msgstr "" "\n" "Falsch geschriebene Wörter können nicht hervorgehoben werden." -#: ../src/dialogs.py:1951 ../src/dialogs.py:2338 +#: ../src/dialogs.py:1842 +msgid "_Resume" +msgstr "" + +#: ../src/dialogs.py:1850 +msgid "Re_place" +msgstr "" + +#: ../src/dialogs.py:2041 ../src/dialogs.py:2440 msgid "The nickname has not allowed characters." msgstr "Die Jabber-ID enthält ungültige Zeichen." -#: ../src/dialogs.py:2069 +#: ../src/dialogs.py:2159 #, python-format msgid "Subscription request for account %(account)s from %(jid)s" msgstr "Abonnement-Anfrage für das Konto %(account)s von %(jid)s" -#: ../src/dialogs.py:2072 +#: ../src/dialogs.py:2162 #, python-format msgid "Subscription request from %s" msgstr "Abonnement-Anfrage von %s" -#: ../src/dialogs.py:2147 ../src/gui_interface.py:2470 +#: ../src/dialogs.py:2246 ../src/gui_interface.py:1950 #, python-format msgid "You are already in group chat %s" msgstr "Sie sind bereits im Chatraum %s" -#: ../src/dialogs.py:2153 +#: ../src/dialogs.py:2252 msgid "You can not join a group chat unless you are connected." msgstr "Sie können einen Chatraum erst betreten, wenn Sie verbunden sind." -#: ../src/dialogs.py:2194 +#: ../src/dialogs.py:2296 #, python-format msgid "Join Group Chat with account %s" msgstr "Chatraum betreten mit dem Konto %s" -#: ../src/dialogs.py:2325 +#: ../src/dialogs.py:2427 msgid "Invalid Account" msgstr "Ungültiges Konto" -#: ../src/dialogs.py:2326 +#: ../src/dialogs.py:2428 msgid "" "You have to choose an account from which you want to join the groupchat." msgstr "" "Sie müssen ein Konto auswählen, mit dem Sie den Gruppenchat betreten möchten." -#: ../src/dialogs.py:2337 +#: ../src/dialogs.py:2439 msgid "Invalid Nickname" msgstr "Ungültiger Benutzername" -#: ../src/dialogs.py:2342 ../src/dialogs.py:2348 -#: ../src/groupchat_control.py:1847 +#: ../src/dialogs.py:2444 ../src/dialogs.py:2450 +#: ../src/groupchat_control.py:2088 msgid "Invalid group chat Jabber ID" msgstr "Ungültige Jabber-ID für den Chatraum" -#: ../src/dialogs.py:2343 +#: ../src/dialogs.py:2445 msgid "Please enter the group chat Jabber ID as room@server." msgstr "Bitte gib die Gruppenchat Jabber ID als raum@server ein." -#: ../src/dialogs.py:2349 ../src/groupchat_control.py:1848 +#: ../src/dialogs.py:2451 ../src/groupchat_control.py:2089 msgid "The group chat Jabber ID has not allowed characters." msgstr "Die Jabber-ID des Chatraums enthält ungültige Zeichen." -#: ../src/dialogs.py:2356 +#: ../src/dialogs.py:2455 ../src/gui_interface.py:1932 msgid "This is not a group chat" msgstr "Dies ist kein Chatraum" -#: ../src/dialogs.py:2357 +#: ../src/dialogs.py:2456 ../src/gui_interface.py:1933 #, python-format msgid "%s is not the name of a group chat." msgstr "%s ist nicht der Name eines Chatraums." -#: ../src/dialogs.py:2388 +#: ../src/dialogs.py:2488 msgid "Without a connection, you can not synchronise your contacts." msgstr "Sie müssen verbunden sein, um Ihre Kontakte synchronisieren zu können." -#: ../src/dialogs.py:2402 +#: ../src/dialogs.py:2501 msgid "Server" msgstr "Server" -#: ../src/dialogs.py:2437 +#: ../src/dialogs.py:2537 msgid "This account is not connected to the server" msgstr "Das Konto \"%s\" ist nicht mit dem Server verbunden" -#: ../src/dialogs.py:2438 +#: ../src/dialogs.py:2538 msgid "You cannot synchronize with an account unless it is connected." msgstr "" "Sie können ein Konto nicht synchronisieren, solange es nicht verbunden ist." -#: ../src/dialogs.py:2462 +#: ../src/dialogs.py:2563 msgid "Synchronise" msgstr "Synchronisieren" -#: ../src/dialogs.py:2523 +#: ../src/dialogs.py:2624 #, python-format msgid "Start Chat with account %s" msgstr "Starte Chat mit Konto %s" -#: ../src/dialogs.py:2525 +#: ../src/dialogs.py:2626 msgid "Start Chat" msgstr "Chat starten" -#: ../src/dialogs.py:2526 +#: ../src/dialogs.py:2627 msgid "" "Fill in the nickname or the Jabber ID of the contact you would like\n" "to send a chat message to:" @@ -7392,165 +7359,150 @@ msgstr "" "an den Sie eine Chat-Nachricht schicken wollen:" #. if offline or connecting -#: ../src/dialogs.py:2552 ../src/dialogs.py:2933 ../src/dialogs.py:3145 +#: ../src/dialogs.py:2654 ../src/dialogs.py:3035 ../src/dialogs.py:3265 msgid "Connection not available" msgstr "Verbindung nicht verfügbar" -#: ../src/dialogs.py:2553 ../src/dialogs.py:2934 ../src/dialogs.py:3146 +#: ../src/dialogs.py:2655 ../src/dialogs.py:3036 ../src/dialogs.py:3266 #, python-format msgid "Please make sure you are connected with \"%s\"." msgstr "Vergewissern Sie sich, dass Sie mit \"%s\" verbunden sind." -#: ../src/dialogs.py:2562 ../src/dialogs.py:2565 +#: ../src/dialogs.py:2664 ../src/dialogs.py:2667 msgid "Invalid JID" msgstr "Ungültige Jabber-ID" -#: ../src/dialogs.py:2565 +#: ../src/dialogs.py:2667 #, python-format msgid "Unable to parse \"%s\"." msgstr "Kann \"%s\" nicht parsen." -#: ../src/dialogs.py:2574 +#: ../src/dialogs.py:2676 msgid "Without a connection, you can not change your password." msgstr "Sie müssen verbunden sein, um Ihr Passwort ändern zu können." -#: ../src/dialogs.py:2593 +#: ../src/dialogs.py:2695 msgid "Invalid password" msgstr "Ungültiges Passwort" -#: ../src/dialogs.py:2593 +#: ../src/dialogs.py:2695 msgid "You must enter a password." msgstr "Sie müssen ein Passwort eingeben." -#: ../src/dialogs.py:2597 +#: ../src/dialogs.py:2699 msgid "Passwords do not match" msgstr "Die Passwörter stimmen nicht überein" -#: ../src/dialogs.py:2598 +#: ../src/dialogs.py:2700 msgid "The passwords typed in both fields must be identical." msgstr "Die Passwörter in beiden Feldern müssen identisch sein." #. default value -#: ../src/dialogs.py:2635 ../src/notify.py:247 ../src/notify.py:473 +#: ../src/dialogs.py:2737 ../src/notify.py:182 ../src/notify.py:419 msgid "Contact Signed In" msgstr "Kontakt hat sich angemeldet" -#: ../src/dialogs.py:2637 ../src/notify.py:255 ../src/notify.py:475 +#: ../src/dialogs.py:2739 ../src/notify.py:190 ../src/notify.py:421 msgid "Contact Signed Out" msgstr "Kontakt hat sich abgemeldet" -#. chat message -#: ../src/dialogs.py:2639 ../src/notify.py:277 ../src/notify.py:477 -msgid "New Message" -msgstr "Neue Nachricht" - -#. single message -#: ../src/dialogs.py:2639 ../src/notify.py:259 ../src/notify.py:477 -msgid "New Single Message" -msgstr "Neue einzelne Nachricht" - -#. private message -#: ../src/dialogs.py:2640 ../src/notify.py:265 ../src/notify.py:478 -msgid "New Private Message" -msgstr "Neue private Nachricht" - -#: ../src/dialogs.py:2640 ../src/gui_interface.py:1158 ../src/notify.py:487 +#: ../src/dialogs.py:2742 ../src/gui_interface.py:840 ../src/notify.py:433 msgid "New E-mail" msgstr "Neue E-Mail" -#: ../src/dialogs.py:2642 ../src/gui_interface.py:1217 ../src/notify.py:480 +#: ../src/dialogs.py:2744 ../src/gui_interface.py:895 ../src/notify.py:426 msgid "File Transfer Request" msgstr "Anfrage zur Dateiübertragung" -#: ../src/dialogs.py:2644 ../src/gui_interface.py:1120 -#: ../src/gui_interface.py:1186 ../src/notify.py:482 +#: ../src/dialogs.py:2746 ../src/gui_interface.py:802 +#: ../src/gui_interface.py:866 ../src/notify.py:428 msgid "File Transfer Error" msgstr "Dateiübertragungsfehler" -#: ../src/dialogs.py:2646 ../src/gui_interface.py:1263 -#: ../src/gui_interface.py:1286 ../src/gui_interface.py:1303 -#: ../src/notify.py:484 +#: ../src/dialogs.py:2748 ../src/gui_interface.py:941 +#: ../src/gui_interface.py:964 ../src/gui_interface.py:981 +#: ../src/notify.py:430 msgid "File Transfer Completed" msgstr "Dateiübertragung beendet" -#: ../src/dialogs.py:2647 ../src/gui_interface.py:1266 ../src/notify.py:485 +#: ../src/dialogs.py:2749 ../src/gui_interface.py:944 ../src/notify.py:431 msgid "File Transfer Stopped" msgstr "Dateiübertragung gestoppt" -#: ../src/dialogs.py:2649 ../src/gui_interface.py:971 ../src/notify.py:489 +#: ../src/dialogs.py:2751 ../src/gui_interface.py:649 ../src/notify.py:435 msgid "Groupchat Invitation" msgstr "Gruppenchat-Einladung" -#: ../src/dialogs.py:2651 ../src/notify.py:239 ../src/notify.py:491 +#: ../src/dialogs.py:2753 ../src/notify.py:174 ../src/notify.py:437 msgid "Contact Changed Status" msgstr "Kontakt hat Status verändert" -#: ../src/dialogs.py:2852 +#: ../src/dialogs.py:2954 #, python-format msgid "Single Message using account %s" msgstr "Einzelne Nachricht über das Konto %s" -#: ../src/dialogs.py:2854 +#: ../src/dialogs.py:2956 #, python-format msgid "Single Message in account %s" msgstr "Einzelne Nachricht über das Konto %s" -#: ../src/dialogs.py:2856 +#: ../src/dialogs.py:2958 msgid "Single Message" msgstr "Einzelne Nachricht" #. prepare UI for Sending -#: ../src/dialogs.py:2859 +#: ../src/dialogs.py:2961 #, python-format msgid "Send %s" msgstr "Sende %s" #. prepare UI for Receiving -#: ../src/dialogs.py:2882 +#: ../src/dialogs.py:2984 #, python-format msgid "Received %s" msgstr "%s empfangen" #. prepare UI for Receiving -#: ../src/dialogs.py:2905 +#: ../src/dialogs.py:3007 #, python-format msgid "Form %s" msgstr "Von %s" #. we create a new blank window to send and we preset RE: and to jid -#: ../src/dialogs.py:2984 +#: ../src/dialogs.py:3086 #, python-format msgid "RE: %s" msgstr "RE: %s" -#: ../src/dialogs.py:2985 +#: ../src/dialogs.py:3087 #, python-format msgid "%s wrote:\n" msgstr "%s schrieb:\n" -#: ../src/dialogs.py:3044 +#: ../src/dialogs.py:3146 #, python-format msgid "XML Console for %s" msgstr "XML-Konsole für %s" -#: ../src/dialogs.py:3046 +#: ../src/dialogs.py:3148 msgid "XML Console" msgstr "XML-Konsole" #. Action that can be done with an incoming list of contacts -#: ../src/dialogs.py:3175 +#: ../src/dialogs.py:3295 msgid "add" msgstr "hinzufügen" -#: ../src/dialogs.py:3175 +#: ../src/dialogs.py:3295 msgid "modify" msgstr "Verändern" -#: ../src/dialogs.py:3176 +#: ../src/dialogs.py:3296 msgid "remove" msgstr "Entfernen" -#: ../src/dialogs.py:3204 +#: ../src/dialogs.py:3325 #, python-format msgid "" "%(jid)s would like you to %(action)s some contacts in your " @@ -7560,192 +7512,189 @@ msgstr "" "%(action)s." #. Change label for accept_button to action name instead of 'OK'. -#: ../src/dialogs.py:3220 ../src/dialogs.py:3266 +#: ../src/dialogs.py:3341 ../src/dialogs.py:3387 msgid "Add" msgstr "Hinzufügen" #. Change label for accept_button to action name instead of 'OK'. -#: ../src/dialogs.py:3222 ../src/dialogs.py:3297 +#: ../src/dialogs.py:3343 ../src/dialogs.py:3418 msgid "Modify" msgstr "Verändern" -#: ../src/dialogs.py:3228 +#. Change label for accept_button to action name instead of 'OK'. +#: ../src/dialogs.py:3345 ../src/dialogs.py:3442 +msgid "Delete" +msgstr "Löschen" + +#: ../src/dialogs.py:3349 msgid "Jabber ID" msgstr "Jabber ID" -#: ../src/dialogs.py:3234 +#: ../src/dialogs.py:3355 msgid "Groups" msgstr "Gruppen" #. it is selected #. remote_jid = model[iter_][1].decode('utf-8') -#: ../src/dialogs.py:3342 +#: ../src/dialogs.py:3463 #, python-format msgid "%s suggested me to add you in my roster." msgstr "" "%s hat mir vorgeschlagen Sie als Kontakt zu meiner Kontaktliste hinzuzufügen." -#: ../src/dialogs.py:3356 +#: ../src/dialogs.py:3477 #, python-format msgid "Added %s contacts" msgstr "%s Kontakte hinzugefügt" -#: ../src/dialogs.py:3393 +#: ../src/dialogs.py:3514 #, python-format msgid "Removed %s contacts" msgstr "%s Kontakte entfernt" -#: ../src/dialogs.py:3433 ../src/dialogs.py:3610 +#: ../src/dialogs.py:3554 ../src/dialogs.py:3731 #, python-format msgid "Archiving Preferences for %s" msgstr "" -#: ../src/dialogs.py:3473 +#: ../src/dialogs.py:3594 #, fuzzy msgid "Invalid expire value" msgstr "Ungültiger Servername" -#: ../src/dialogs.py:3474 +#: ../src/dialogs.py:3595 msgid "Expire must be a valid positive integer." msgstr "" -#: ../src/dialogs.py:3521 +#: ../src/dialogs.py:3642 msgid "There is an error with the form" msgstr "" -#: ../src/dialogs.py:3732 +#: ../src/dialogs.py:3862 #, fuzzy msgid "There is an error" msgstr "Der Dienst gab einen Fehler zurück." -#: ../src/dialogs.py:3796 +#: ../src/dialogs.py:3930 #, python-format msgid "Privacy List %s" msgstr "Privatsphären-Liste %s" -#: ../src/dialogs.py:3800 +#: ../src/dialogs.py:3934 #, python-format msgid "Privacy List for %s" msgstr "Privatsphären-Liste für %s" -#: ../src/dialogs.py:3856 +#: ../src/dialogs.py:4001 #, python-format msgid "Order: %(order)s, action: %(action)s, type: %(type)s, value: %(value)s" msgstr "" "Sortierung: %(order)s, Aktion: %(action)s, Typ: %(type)s, Wert: %(value)s" -#: ../src/dialogs.py:3861 +#: ../src/dialogs.py:4006 #, python-format msgid "Order: %(order)s, action: %(action)s" msgstr "Sortierung: %(order)s, Aktion: %(action)s" -#: ../src/dialogs.py:3905 +#: ../src/dialogs.py:4057 msgid "Edit a rule" msgstr "Eine Regel bearbeiten" -#: ../src/dialogs.py:4016 +#: ../src/dialogs.py:4168 msgid "Add a rule" msgstr "Eine Regel hinzufügen" -#: ../src/dialogs.py:4116 +#: ../src/dialogs.py:4267 #, python-format msgid "Privacy Lists for %s" msgstr "Privatsphären-Liste für %s" -#: ../src/dialogs.py:4118 +#: ../src/dialogs.py:4269 msgid "Privacy Lists" msgstr "Privatsphären-Listen" -#: ../src/dialogs.py:4188 +#: ../src/dialogs.py:4358 msgid "Invalid List Name" msgstr "Ungültiger Listenname" -#: ../src/dialogs.py:4189 +#: ../src/dialogs.py:4359 msgid "You must enter a name to create a privacy list." msgstr "" "Sie müssen einen Namen eingeben, um eine Privatsphären-Liste erstellen zu " "können." -#: ../src/dialogs.py:4221 +#: ../src/dialogs.py:4391 msgid "You are invited to a groupchat" msgstr "Sie wurden in einen Chatraum eingeladen" -#: ../src/dialogs.py:4224 +#: ../src/dialogs.py:4394 msgid "$Contact has invited you to join a discussion" msgstr "$Contact hat Sie in den Chatraum %(room_Jabber-ID)s eingeladen" -#: ../src/dialogs.py:4226 +#: ../src/dialogs.py:4396 #, python-format msgid "$Contact has invited you to group chat %(room_jid)s" msgstr "$Contact hat Sie in den Chatraum %(room_jid)s eingeladen" -#: ../src/dialogs.py:4234 +#: ../src/dialogs.py:4404 #, python-format msgid "Comment: %s" msgstr "Kommentar: %s" -#: ../src/dialogs.py:4236 +#: ../src/dialogs.py:4406 msgid "Do you want to accept the invitation?" msgstr "Möchten Sie die Einladung annehmen?" -#: ../src/dialogs.py:4298 +#: ../src/dialogs.py:4468 msgid "Choose Client Cert #PCKS12" -msgstr "" +msgstr "Clientzertifikat #PCKS12 auswählen" -#: ../src/dialogs.py:4308 ../src/dialogs.py:4351 ../src/dialogs.py:4407 -#: ../src/dialogs.py:4495 +#: ../src/dialogs.py:4478 ../src/dialogs.py:4520 ../src/dialogs.py:4576 +#: ../src/dialogs.py:4664 msgid "All files" msgstr "Alle Dateien" -#: ../src/dialogs.py:4313 +#: ../src/dialogs.py:4483 msgid "PKCS12 Files" -msgstr "" +msgstr "PKCS12 Dateien" -#: ../src/dialogs.py:4341 +#: ../src/dialogs.py:4510 msgid "Choose Sound" msgstr "Sound wählen" -#: ../src/dialogs.py:4356 +#: ../src/dialogs.py:4525 msgid "Wav Sounds" msgstr "Wav-Dateien" -#: ../src/dialogs.py:4394 +#: ../src/dialogs.py:4563 msgid "Choose Image" msgstr "Bild auswählen" -#: ../src/dialogs.py:4412 +#: ../src/dialogs.py:4581 msgid "Images" msgstr "Bilder" -#: ../src/dialogs.py:4482 +#: ../src/dialogs.py:4651 #, fuzzy msgid "Choose Archive" msgstr "Bild auswählen" -#: ../src/dialogs.py:4500 +#: ../src/dialogs.py:4669 #, fuzzy msgid "Zip files" msgstr "Alle Dateien" -#: ../src/dialogs.py:4525 +#: ../src/dialogs.py:4695 #, python-format msgid "When %s becomes:" msgstr "Wenn %s wird:" -#: ../src/dialogs.py:4527 +#: ../src/dialogs.py:4697 #, python-format msgid "Adding Special Notification for %s" msgstr "Füge speziellen Hinweis für %s hinzu" -#: ../src/dialogs.py:4602 -msgid "Condition" -msgstr "Bedingung" - -#: ../src/dialogs.py:4722 -msgid "when I am " -msgstr "wenn Ich bin " - -#: ../src/dialogs.py:5198 +#: ../src/dialogs.py:4917 #, python-format msgid "" "Your chat session with %(jid)s is encrypted.\n" @@ -7757,19 +7706,19 @@ msgstr "" "Der kurze Authentifizierungs-Schlüssel für diese Unterhaltung ist: " "%(sas)s" -#: ../src/dialogs.py:5201 +#: ../src/dialogs.py:4920 msgid "You have already verified this contact's identity." msgstr "Sie haben die Identität dieses Kontaktes bereits überprüft." -#: ../src/dialogs.py:5207 ../src/dialogs.py:5291 +#: ../src/dialogs.py:4926 ../src/dialogs.py:5010 msgid "Contact's identity verified" msgstr "Kontaktidentität wurde überprüft" -#: ../src/dialogs.py:5213 +#: ../src/dialogs.py:4932 msgid "Verify again..." msgstr "Erneut überprüfen …" -#: ../src/dialogs.py:5218 +#: ../src/dialogs.py:4937 msgid "" "To be certain that only the expected person can read your messages or " "send you messages, you need to verify their identity by clicking the button " @@ -7779,19 +7728,19 @@ msgstr "" "Nachrichten lesen oder Ihnen Nachrichten senden kann, müssen Sie seine " "Identität überprüfen, indem Sie die Schaltfläche weiter unten betätigen." -#: ../src/dialogs.py:5221 ../src/dialogs.py:5272 ../src/dialogs.py:5285 +#: ../src/dialogs.py:4940 ../src/dialogs.py:4991 ../src/dialogs.py:5004 msgid "Contact's identity NOT verified" msgstr "Kontaktidentität nicht überprüft" -#: ../src/dialogs.py:5226 +#: ../src/dialogs.py:4945 msgid "Verify..." msgstr "Überprüfen …" -#: ../src/dialogs.py:5237 +#: ../src/dialogs.py:4956 msgid "Have you verified the contact's identity?" msgstr "Haben Sie die Identität des Kontaktes überprüft?" -#: ../src/dialogs.py:5238 +#: ../src/dialogs.py:4957 #, python-format msgid "" "To prevent talking to an unknown person, you should speak to %(jid)s " @@ -7807,13 +7756,13 @@ msgstr "" "Der kurze Authentifizierungs-Schlüssel dieser Unterhaltung ist: %(sas)s" -#: ../src/dialogs.py:5239 +#: ../src/dialogs.py:4958 msgid "Did you talk to the remote contact and verify the SAS?" msgstr "" "Haben Sie mit dem Kontakt gesprochen, um den kurzen Authentifizierungs-" "Schluessel zu überprüfen?" -#: ../src/dialogs.py:5273 +#: ../src/dialogs.py:4992 #, python-format msgid "The contact's key (%s) does not match the key assigned in Gajim." msgstr "" @@ -7821,14 +7770,14 @@ msgstr "" "Schlüssel überein." # TODO: GPG/PGP unification in original strings needed -#: ../src/dialogs.py:5279 +#: ../src/dialogs.py:4998 msgid "No GPG key is assigned to this contact. So you cannot encrypt messages." msgstr "" "Dem Kontakt ist kein GPG-Schlüssel zugewiesen. Nachrichten können nicht " "verschlüsselt werden." # TODO: GPG/PGP unification in original strings needed -#: ../src/dialogs.py:5286 +#: ../src/dialogs.py:5005 msgid "" "GPG key is assigned to this contact, but you do not trust his key, so " "message cannot be encrypted. Use your GPG client to trust this key." @@ -7839,7 +7788,7 @@ msgstr "" "einzustufen." # TODO: GPG/PGP unification in original strings needed -#: ../src/dialogs.py:5292 +#: ../src/dialogs.py:5011 msgid "" "GPG Key is assigned to this contact, and you trust his key, so messages will " "be encrypted." @@ -7847,19 +7796,19 @@ msgstr "" "Ein vertrauenswürdiger GPG-Schlüssel ist dem Kontakt zugewiesen. Die " "Nachrichten werden verschlüsselt." -#: ../src/dialogs.py:5357 +#: ../src/dialogs.py:5076 msgid "an audio and video" msgstr "eine Audio und Video" -#: ../src/dialogs.py:5359 +#: ../src/dialogs.py:5078 msgid "an audio" msgstr "eine Audio" -#: ../src/dialogs.py:5361 +#: ../src/dialogs.py:5080 msgid "a video" msgstr "eine Video" -#: ../src/dialogs.py:5365 +#: ../src/dialogs.py:5084 #, python-format msgid "" "%(contact)s wants to start %(type)s session with you. Do you want to answer " @@ -7868,6 +7817,37 @@ msgstr "" "%(contact)s möchte eine %(type)s-Sitzung mit dir starten. Möchten Sie den " "Anruf annehmen?" +#: ../src/dialogs.py:5152 +#, fuzzy, python-format +msgid "Certificate for account %s" +msgstr "für das Konto %s" + +#: ../src/dialogs.py:5152 +#, python-format +msgid "" +"Issued to:\n" +"Common Name (CN): %(scn)s\n" +"Organization (O): %(sorg)s\n" +"Organizationl Unit (OU): %(sou)s\n" +"Serial Number: %(sn)s\n" +"\n" +"Issued by:\n" +"Common Name (CN): %(icn)s\n" +"Organization (O): %(iorg)s\n" +"Organizationl Unit (OU): %(iou)s\n" +"\n" +"Validity:\n" +"Issued on: %(io)s\n" +"Expires on: %(eo)s\n" +"\n" +"Fingerprint\n" +"SHA1 Fingerprint: %(sha1)s" +msgstr "" + +#: ../src/dialogs.py:5186 ../src/dialogs.py:5203 +msgid "View cert..." +msgstr "" + #: ../src/disco.py:119 msgid "Others" msgstr "Andere" @@ -7877,24 +7857,24 @@ msgstr "Andere" msgid "Conference" msgstr "Konferenz" -#: ../src/disco.py:513 +#: ../src/disco.py:516 msgid "Without a connection, you can not browse available services" msgstr "Sie müssen angemeldet sein, um die Dienste durchsuchen zu können" -#: ../src/disco.py:600 +#: ../src/disco.py:602 #, python-format msgid "Service Discovery using account %s" msgstr "Dienste des Kontos %s durchsuchen" -#: ../src/disco.py:602 +#: ../src/disco.py:604 msgid "Service Discovery" msgstr "Dienste durchsuchen" -#: ../src/disco.py:758 +#: ../src/disco.py:760 msgid "The service could not be found" msgstr "Der Dienst konnte nicht gefunden werden" -#: ../src/disco.py:759 +#: ../src/disco.py:761 msgid "" "There is no service at the address you entered, or it is not responding. " "Check the address and try again." @@ -7903,37 +7883,37 @@ msgstr "" "Dienst antwortet nicht. Überprüfen Sie die Adresse und versuchen Sie es " "erneut." -#: ../src/disco.py:763 ../src/disco.py:1100 +#: ../src/disco.py:765 ../src/disco.py:1102 msgid "The service is not browsable" msgstr "Der Dienst ist nicht durchsuchbar" -#: ../src/disco.py:764 +#: ../src/disco.py:766 msgid "This type of service does not contain any items to browse." msgstr "" "Dieser Art von Dienst enthält keine Objekte, die durchsucht werden können." -#: ../src/disco.py:804 ../src/disco.py:814 +#: ../src/disco.py:806 ../src/disco.py:816 msgid "Invalid Server Name" msgstr "Ungültiger Servername" -#: ../src/disco.py:868 +#: ../src/disco.py:870 #, python-format msgid "Browsing %(address)s using account %(account)s" msgstr "Durchsuche %(address)s über das Konto %(account)s" -#: ../src/disco.py:912 +#: ../src/disco.py:914 msgid "_Browse" msgstr "_Durchsuche" -#: ../src/disco.py:1101 +#: ../src/disco.py:1103 msgid "This service does not contain any items to browse." msgstr "Dieser Dienst enthält keine keine durchsuchbaren Objekte." -#: ../src/disco.py:1341 +#: ../src/disco.py:1343 msgid "_Execute Command" msgstr "_Befehl ausführen" -#: ../src/disco.py:1351 ../src/disco.py:1522 +#: ../src/disco.py:1353 ../src/disco.py:1522 msgid "Re_gister" msgstr "Re_gistrieren" @@ -7957,188 +7937,192 @@ msgstr "Beschreibung" msgid "Id" msgstr "ID" -#: ../src/disco.py:1835 ../src/gui_interface.py:2995 +#: ../src/disco.py:1835 ../src/gui_interface.py:2468 msgid "Bookmark already set" msgstr "Chatraum ist bereits gespeichert" -#: ../src/disco.py:1836 ../src/gui_interface.py:2996 +#: ../src/disco.py:1836 ../src/gui_interface.py:2469 #, python-format msgid "Group Chat \"%s\" is already in your bookmarks." msgstr "Der Chatraum \"%s\" wurde bereits gespeichert." -#: ../src/disco.py:1845 ../src/gui_interface.py:3010 +#: ../src/disco.py:1845 ../src/gui_interface.py:2483 msgid "Bookmark has been added successfully" msgstr "Chatraum wurde erfolgreich gespeichert" -#: ../src/disco.py:1846 ../src/gui_interface.py:3011 +#: ../src/disco.py:1846 ../src/gui_interface.py:2484 msgid "You can manage your bookmarks via Actions menu in your roster." msgstr "" "Sie können die gespeicherten Chaträume über das Aktionen-Menü in der " "Kontaktliste bearbeiten" -#: ../src/disco.py:2057 +#: ../src/disco.py:2055 msgid "Subscribed" msgstr "Abonniert" -#: ../src/disco.py:2065 +#: ../src/disco.py:2063 msgid "Node" msgstr "Node" -#: ../src/disco.py:2129 +#: ../src/disco.py:2127 msgid "New post" msgstr "Neue Nachricht" -#: ../src/disco.py:2135 +#: ../src/disco.py:2133 msgid "_Subscribe" msgstr "_Abonnieren" -#: ../src/disco.py:2141 +#: ../src/disco.py:2139 msgid "_Unsubscribe" msgstr "_Abbestellen" -#: ../src/features_window.py:49 -msgid "SSL certificat validation" +#: ../src/features_window.py:50 +#, fuzzy +msgid "SSL certificate validation" msgstr "SSL/TLS-Zertifikatprüfung" -#: ../src/features_window.py:50 +#: ../src/features_window.py:51 msgid "" "A library used to validate server certificates to ensure a secure connection." msgstr "" "Ermöglicht die Validierung von Server-Zertifikaten, die eine sichere " "Verbindung gewährleisten." -#: ../src/features_window.py:51 ../src/features_window.py:52 +#: ../src/features_window.py:52 ../src/features_window.py:53 msgid "Requires python-pyopenssl." msgstr "Erfordert python-pyopenssl." -#: ../src/features_window.py:53 +#: ../src/features_window.py:54 msgid "Bonjour / Zeroconf" msgstr "Bonjour / Zeroconf" -#: ../src/features_window.py:54 +#: ../src/features_window.py:55 msgid "Serverless chatting with autodetected clients in a local network." msgstr "" "Ermöglicht serverloses Chatten mit automatischer Clienterkennung in lokalen " "Netzwerken." -#: ../src/features_window.py:55 +#: ../src/features_window.py:56 msgid "Requires python-avahi." msgstr "Erfordert python-avahi." -#: ../src/features_window.py:56 +#: ../src/features_window.py:57 msgid "Requires pybonjour (http://o2s.csail.mit.edu/o2s-wiki/pybonjour)." msgstr "" "Erfordert pybonjour (http://o2s.csail.mit.edu/o2s-wiki/pybonjour (Englisch))." -#: ../src/features_window.py:57 +#: ../src/features_window.py:58 msgid "Command line" msgstr "Kommandozeilensteuerung" -#: ../src/features_window.py:58 +#: ../src/features_window.py:59 msgid "A script to control Gajim via commandline." msgstr "Ermöglicht es, Gajim per Skript über die Konsole zu steuern." -#: ../src/features_window.py:59 +#: ../src/features_window.py:60 msgid "Requires python-dbus." msgstr "Erfordert python-dbus." -#: ../src/features_window.py:60 ../src/features_window.py:64 -#: ../src/features_window.py:68 ../src/features_window.py:72 -#: ../src/features_window.py:76 ../src/features_window.py:84 -#: ../src/features_window.py:88 ../src/features_window.py:108 +#: ../src/features_window.py:61 ../src/features_window.py:69 +#: ../src/features_window.py:73 ../src/features_window.py:77 +#: ../src/features_window.py:85 ../src/features_window.py:89 +#: ../src/features_window.py:109 msgid "Feature not available under Windows." msgstr "Funktion unter Windows nicht verfügbar." -#: ../src/features_window.py:61 +#: ../src/features_window.py:62 msgid "OpenGPG message encryption" msgstr "OpenPGP-Verschlüsselung" # TODO: GPG/PGP unification in original strings needed -#: ../src/features_window.py:62 +#: ../src/features_window.py:63 msgid "Encrypting chat messages with gpg keys." msgstr "Ermöglicht die Verschlüsselung von Nachrichten per OpenPGP." -# TODO: GPG/PGP unification in original strings needed -#: ../src/features_window.py:63 -msgid "Requires gpg and python-GnuPGInterface." -msgstr "Erfordert GnuPG und python-GnuPGInterface." +#: ../src/features_window.py:64 +msgid "Requires gpg and python-gnupg (http://code.google.com/p/python-gnupg/)." +msgstr "" #: ../src/features_window.py:65 +msgid "Requires gpg.exe in PATH." +msgstr "" + +#: ../src/features_window.py:66 msgid "Network-manager" msgstr "Netzwerk-Manager" -#: ../src/features_window.py:66 +#: ../src/features_window.py:67 msgid "Autodetection of network status." msgstr "Ermöglicht die automatische Erkennung des Netzwerkstatus." -#: ../src/features_window.py:67 +#: ../src/features_window.py:68 msgid "Requires gnome-network-manager and python-dbus." msgstr "Erfordert gnome-network-manager und python-dbus." -#: ../src/features_window.py:69 +#: ../src/features_window.py:70 msgid "Session Management" msgstr "Sitzungsverwaltung" -#: ../src/features_window.py:70 +#: ../src/features_window.py:71 msgid "Gajim session is stored on logout and restored on login." msgstr "" "Die Gajim-Sitzung kann beim Logout gespeichert und beim Login " "wiederhergestellt werden." -#: ../src/features_window.py:71 +#: ../src/features_window.py:72 msgid "Requires python-gnome2." msgstr "Erfordert python-gnome2." -#: ../src/features_window.py:73 +#: ../src/features_window.py:74 msgid "Password encryption" msgstr "Sichere Kennwortverwaltung" -#: ../src/features_window.py:74 +#: ../src/features_window.py:75 msgid "Passwords can be stored securely and not just in plaintext." msgstr "Passwörter können sicher anstatt nur im Klartext gespeichert werden." -#: ../src/features_window.py:75 +#: ../src/features_window.py:76 msgid "Requires gnome-keyring and python-gnome2-desktop, or kwalletcli." msgstr "Erfordert gnome-keyring und python-gnome2-desktop, oder kwalletcli." -#: ../src/features_window.py:77 +#: ../src/features_window.py:78 msgid "SRV" msgstr "SRV" -#: ../src/features_window.py:78 +#: ../src/features_window.py:79 msgid "Ability to connect to servers which are using SRV records." msgstr "Ermöglicht Verbindungen zu Servern, die SRV-DNS-Einträge verwenden." -#: ../src/features_window.py:79 +#: ../src/features_window.py:80 msgid "Requires dnsutils." msgstr "Erfordert dnsutils." -#: ../src/features_window.py:80 +#: ../src/features_window.py:81 msgid "Requires nslookup to use SRV records." msgstr "Erfordert nslookup zur Nutzung von SRV-Einträgen." -#: ../src/features_window.py:81 +#: ../src/features_window.py:82 msgid "Spell Checker" msgstr "Rechtschreibprüfung" -#: ../src/features_window.py:82 +#: ../src/features_window.py:83 msgid "Spellchecking of composed messages." msgstr "" "Ermöglicht das Überprüfen verfasster Nachrichten auf Rechtschreibfehler." -#: ../src/features_window.py:83 +#: ../src/features_window.py:84 msgid "Requires libgtkspell." msgstr "Erfordert die libgtkspell-Bibliothek." -#: ../src/features_window.py:85 +#: ../src/features_window.py:86 msgid "Notification" msgstr "Benachrichtigungen" -#: ../src/features_window.py:86 +#: ../src/features_window.py:87 msgid "Passive popups notifying for new events." msgstr "Ermöglicht passive Popups, die über neue Ereignisse informieren." -#: ../src/features_window.py:87 +#: ../src/features_window.py:88 msgid "" "Requires python-notify or instead python-dbus in conjunction with " "notification-daemon." @@ -8146,35 +8130,35 @@ msgstr "" "Erfordert python-notify oder stattdessen python-dbus in Verbindung mit " "notification-daemon." -#: ../src/features_window.py:89 +#: ../src/features_window.py:90 msgid "Automatic status" msgstr "Automatischer Status" -#: ../src/features_window.py:90 +#: ../src/features_window.py:91 msgid "Ability to measure idle time, in order to set auto status." msgstr "" "Emöglicht die Messung der Zeit, während der der Computer nicht benutzt wird, " "um den Status automatisch zu setzen." -#: ../src/features_window.py:91 +#: ../src/features_window.py:92 msgid "Requires libxss library." msgstr "Erfordert die libxss-Bibliothek." -#: ../src/features_window.py:92 +#: ../src/features_window.py:93 msgid "Requires python2.5." msgstr "Erfordert python-gnome2 (Version 2.5)." -#: ../src/features_window.py:93 +#: ../src/features_window.py:94 msgid "LaTeX" msgstr "LaTeX" -#: ../src/features_window.py:94 +#: ../src/features_window.py:95 msgid "Transform LaTeX expressions between $$ $$." msgstr "" "Ermöglicht die Verwendung von LaTeX-Ausdrücken. Text zwischen $$ $$ wird als " "LaTeX interpretiert." -#: ../src/features_window.py:95 +#: ../src/features_window.py:96 #, fuzzy msgid "" "Requires texlive-latex-base and (dvipng or ImageMagick). You have to set " @@ -8183,7 +8167,7 @@ msgstr "" "Erfordert texlive-latex-base und dvipng (befindlich in MikTeX). Im " "erweiterten Konfigurationseditor muss 'use_latex' auf 'true' gesetzt werden." -#: ../src/features_window.py:96 +#: ../src/features_window.py:97 #, fuzzy msgid "" "Requires texlive-latex-base and (dvipng or ImageMagick) (All is in MikTeX). " @@ -8192,23 +8176,23 @@ msgstr "" "Erfordert texlive-latex-base und dvipng (befindlich in MikTeX). Sie müssen " "'use_latex' im Erweiterten Konfigurationseditor auf 'true' setzen." -#: ../src/features_window.py:97 +#: ../src/features_window.py:98 msgid "End to End message encryption" msgstr "ESession-Verschlüsselung" -#: ../src/features_window.py:98 +#: ../src/features_window.py:99 msgid "Encrypting chat messages." msgstr "Nachrichten können per ESession verschlüsselt werden." -#: ../src/features_window.py:99 ../src/features_window.py:100 +#: ../src/features_window.py:100 ../src/features_window.py:101 msgid "Requires python-crypto." msgstr "Erfordert python-crypto" -#: ../src/features_window.py:101 +#: ../src/features_window.py:102 msgid "RST Generator" msgstr "RST-Generator" -#: ../src/features_window.py:102 +#: ../src/features_window.py:103 msgid "" "Generate XHTML output from RST code (see http://docutils.sourceforge.net/" "docs/ref/rst/restructuredtext.html)." @@ -8216,24 +8200,24 @@ msgstr "" "Kann aus RST-Code XHTML-Ausgaben erzeugen (siehe http://docutils.sourceforge." "net/docs/ref/rst/restructuredtext.html (Englisch))." -#: ../src/features_window.py:103 ../src/features_window.py:104 +#: ../src/features_window.py:104 ../src/features_window.py:105 msgid "Requires python-docutils." msgstr "Erfordert python-docutils." -#: ../src/features_window.py:106 +#: ../src/features_window.py:107 msgid "Ability to start audio and video chat." msgstr "Audio und Video Chat sind möglich." -#: ../src/features_window.py:107 -msgid "Requires python-farsight." +#: ../src/features_window.py:108 +#, fuzzy +msgid "Requires python-farsight and gstreamer-plugins-bad." msgstr "Erfordert python-farsight." -#: ../src/features_window.py:115 -#, fuzzy +#: ../src/features_window.py:116 msgid "?features:Available" -msgstr "Verfügbar" +msgstr "?Features:Verfügbar" -#: ../src/features_window.py:122 +#: ../src/features_window.py:123 msgid "Feature" msgstr "Feature" @@ -8254,7 +8238,7 @@ msgstr "Fortschritt" msgid "Filename: %s" msgstr "Dateiname: %s" -#: ../src/filetransfers_window.py:179 ../src/filetransfers_window.py:323 +#: ../src/filetransfers_window.py:179 ../src/filetransfers_window.py:333 #, python-format msgid "Size: %s" msgstr "Größe: %s" @@ -8262,7 +8246,7 @@ msgstr "Größe: %s" #. You is a reply of who sent a file #. You is a reply of who received a file #: ../src/filetransfers_window.py:188 ../src/filetransfers_window.py:198 -#: ../src/history_manager.py:522 +#: ../src/history_manager.py:541 msgid "You" msgstr "Sie" @@ -8271,7 +8255,7 @@ msgstr "Sie" msgid "Sender: %s" msgstr "Gespeichert in: %s" -#: ../src/filetransfers_window.py:190 ../src/filetransfers_window.py:617 +#: ../src/filetransfers_window.py:190 ../src/filetransfers_window.py:627 #: ../src/tooltips.py:742 msgid "Recipient: " msgstr "Empfänger: " @@ -8307,48 +8291,48 @@ msgstr "Fehlermeldung: %s" msgid "File transfer stopped" msgstr "Dateiübertragung gestoppt" -#: ../src/filetransfers_window.py:257 +#: ../src/filetransfers_window.py:266 msgid "Choose File to Send..." msgstr "Datei auswählen …" -#: ../src/filetransfers_window.py:273 ../src/tooltips.py:780 +#: ../src/filetransfers_window.py:282 ../src/tooltips.py:780 msgid "Description: " msgstr "Beschreibung: " -#: ../src/filetransfers_window.py:286 +#: ../src/filetransfers_window.py:295 msgid "Gajim cannot access this file" msgstr "Auf diese Datei kann nicht zugegriffen werden" -#: ../src/filetransfers_window.py:287 +#: ../src/filetransfers_window.py:296 msgid "This file is being used by another process." msgstr "Diese Datei wird von einem anderen Prozess verwendet." -#: ../src/filetransfers_window.py:320 +#: ../src/filetransfers_window.py:330 #, python-format msgid "File: %s" msgstr "Datei: %s" -#: ../src/filetransfers_window.py:326 +#: ../src/filetransfers_window.py:336 #, python-format msgid "Type: %s" msgstr "Typ: %s" -#: ../src/filetransfers_window.py:328 +#: ../src/filetransfers_window.py:338 #, python-format msgid "Description: %s" msgstr "Beschreibung: %s" -#: ../src/filetransfers_window.py:329 +#: ../src/filetransfers_window.py:339 #, python-format msgid "%s wants to send you a file:" msgstr "%s möchte Ihnen eine Datei senden:" -#: ../src/filetransfers_window.py:342 ../src/gtkgui_helpers.py:906 +#: ../src/filetransfers_window.py:352 ../src/gtkgui_helpers.py:850 #, python-format msgid "Cannot overwrite existing file \"%s\"" msgstr "Kann existierende Datei \"%s\" nicht überschreiben" -#: ../src/filetransfers_window.py:343 ../src/gtkgui_helpers.py:907 +#: ../src/filetransfers_window.py:353 ../src/gtkgui_helpers.py:851 msgid "" "A file with this name already exists and you do not have permission to " "overwrite it." @@ -8356,35 +8340,35 @@ msgstr "" "Eine Datei mit diesem Namen existiert bereits und Sie haben nicht die " "erforderlichen Rechte, um sie zu überschreiben." -#: ../src/filetransfers_window.py:359 ../src/gtkgui_helpers.py:911 +#: ../src/filetransfers_window.py:369 ../src/gtkgui_helpers.py:855 msgid "This file already exists" msgstr "Diese Datei existiert bereits" -#: ../src/filetransfers_window.py:359 ../src/gtkgui_helpers.py:911 +#: ../src/filetransfers_window.py:369 ../src/gtkgui_helpers.py:855 msgid "What do you want to do?" msgstr "Was möchten Sie tun?" #. read-only bit is used to mark special folder under windows, #. not to mark that a folder is read-only. See ticket #3587 -#: ../src/filetransfers_window.py:369 ../src/gtkgui_helpers.py:918 +#: ../src/filetransfers_window.py:379 ../src/gtkgui_helpers.py:862 #, python-format msgid "Directory \"%s\" is not writable" msgstr "Verzeichnis \"%s\" ist nicht schreibbar" -#: ../src/filetransfers_window.py:369 ../src/gtkgui_helpers.py:919 +#: ../src/filetransfers_window.py:379 ../src/gtkgui_helpers.py:863 msgid "You do not have permission to create files in this directory." msgstr "" "Ihre Benutzerrechte erlauben es Ihnen nicht, in diesem Verzeichnis Dateien " "anzulegen." -#: ../src/filetransfers_window.py:379 +#: ../src/filetransfers_window.py:389 msgid "Save File as..." msgstr "Datei speichern unter …" #. Print remaining time in format 00:00:00 #. You can change the places of (hours), (minutes), (seconds) - #. they are not translatable. -#: ../src/filetransfers_window.py:449 +#: ../src/filetransfers_window.py:459 #, python-format msgid "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" @@ -8392,69 +8376,65 @@ msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" #. This should make the string Kb/s, #. where 'Kb' part is taken from %s. #. Only the 's' after / (which means second) should be translated. -#: ../src/filetransfers_window.py:542 +#: ../src/filetransfers_window.py:552 #, python-format msgid "(%(filesize_unit)s/s)" msgstr "(%(filesize_unit)s/s)" -#: ../src/filetransfers_window.py:585 ../src/filetransfers_window.py:588 +#: ../src/filetransfers_window.py:595 ../src/filetransfers_window.py:598 msgid "Invalid File" msgstr "Ungültige Datei" -#: ../src/filetransfers_window.py:585 +#: ../src/filetransfers_window.py:595 msgid "File: " msgstr "Datei: " -#: ../src/filetransfers_window.py:589 +#: ../src/filetransfers_window.py:599 msgid "It is not possible to send empty files" msgstr "Es nicht möglich, leere Dateien zu versenden" -#: ../src/filetransfers_window.py:613 ../src/tooltips.py:732 +#: ../src/filetransfers_window.py:623 ../src/tooltips.py:732 msgid "Name: " msgstr "Name: " -#: ../src/filetransfers_window.py:615 ../src/tooltips.py:736 +#: ../src/filetransfers_window.py:625 ../src/tooltips.py:736 msgid "Sender: " msgstr "Absender: " -#: ../src/filetransfers_window.py:777 +#: ../src/filetransfers_window.py:787 msgid "Pause" msgstr "Pause" -#: ../src/gajim.py:142 +#: ../src/gajim.py:186 msgid "Gajim needs X server to run. Quiting..." msgstr "Gajim benötigt einen laufenden X-Server. Abbruch …" -#: ../src/gajim.py:144 +#: ../src/gajim.py:188 #, python-format msgid "importing PyGTK failed: %s" msgstr "Import von PyGTIK fehlgeschlagen: %s" -#: ../src/gajim.py:186 -#, fuzzy +#: ../src/gajim.py:230 msgid "Gajim needs PyGTK 2.16 or above" -msgstr "Gajim benötigt PyGTK 2.12 oder höher" +msgstr "Gajim benötigt PyGTK 2.16 oder höher" -#: ../src/gajim.py:187 -#, fuzzy +#: ../src/gajim.py:231 msgid "Gajim needs PyGTK 2.16 or above to run. Quiting..." -msgstr "Gajim benötigt PyGTK 2.12 oder höher. Abbruch …" +msgstr "Gajim benötigt PyGTK 2.16 oder höher. Abbruch …" -#: ../src/gajim.py:189 -#, fuzzy +#: ../src/gajim.py:233 msgid "Gajim needs GTK 2.16 or above" -msgstr "Gajim benötigt GTK 2.12 oder höher" +msgstr "Gajim benötigt GTK 2.16 oder höher" -#: ../src/gajim.py:190 -#, fuzzy +#: ../src/gajim.py:234 msgid "Gajim needs GTK 2.16 or above to run. Quiting..." -msgstr "Gajim benötigt GTK 2.12 oder höher. Abbruch …" +msgstr "Gajim benötigt GTK 2.16 oder höher. Abbruch …" -#: ../src/gajim.py:199 +#: ../src/gajim.py:243 msgid "Gajim needs pywin32 to run" msgstr "Gajim benötigt pywin32 zum Laufen" -#: ../src/gajim.py:200 +#: ../src/gajim.py:244 #, python-format msgid "" "Please make sure that Pywin32 is installed on your system. You can get it at " @@ -8464,11 +8444,11 @@ msgstr "" "können es unter folgender URL herunterladen: %s" #. set the icon to all newly opened wind -#: ../src/gajim.py:316 +#: ../src/gajim.py:360 msgid "Gajim is already running" msgstr "Gajim läuft bereits" -#: ../src/gajim.py:317 +#: ../src/gajim.py:361 msgid "" "Another instance of Gajim seems to be running\n" "Run anyway?" @@ -8476,41 +8456,34 @@ msgstr "" "Gajim schein bereits zu laufen.\n" "Soll eine weitere Instanz gestartet werden?" -#: ../src/gajim-remote-plugin.py:74 ../src/gajim-remote.py:77 +#: ../src/gajim-remote.py:77 msgid "Shows a help on specific command" msgstr "Zeigt die Hilfe für einen bestimmten Befehl" #. User gets help for the command, specified by this parameter -#: ../src/gajim-remote-plugin.py:77 ../src/gajim-remote.py:80 +#: ../src/gajim-remote.py:80 msgid "command" msgstr "Befehl" -#: ../src/gajim-remote-plugin.py:78 ../src/gajim-remote.py:81 +#: ../src/gajim-remote.py:81 msgid "show help on command" msgstr "zeige Hilfe für Befehl" -#: ../src/gajim-remote-plugin.py:82 ../src/gajim-remote.py:85 +#: ../src/gajim-remote.py:85 msgid "Shows or hides the roster window" msgstr "Ein- oder Ausblenden des Hauptfensters" -#: ../src/gajim-remote-plugin.py:86 ../src/gajim-remote.py:89 +#: ../src/gajim-remote.py:89 msgid "Pops up a window with the next pending event" msgstr "Zeige Popup-Fenster mit dem nächsten ungelesenen Ereignis" -#: ../src/gajim-remote-plugin.py:90 ../src/gajim-remote.py:93 +#: ../src/gajim-remote.py:93 msgid "" "Prints a list of all contacts in the roster. Each contact appears on a " "separate line" msgstr "" "Gibt eine Liste aller Kontakte in der Kontaktliste aus. Eine Zeile je Kontakt" -#: ../src/gajim-remote-plugin.py:93 ../src/gajim-remote-plugin.py:108 -#: ../src/gajim-remote-plugin.py:118 ../src/gajim-remote-plugin.py:131 -#: ../src/gajim-remote-plugin.py:145 ../src/gajim-remote-plugin.py:154 -#: ../src/gajim-remote-plugin.py:175 ../src/gajim-remote-plugin.py:205 -#: ../src/gajim-remote-plugin.py:214 ../src/gajim-remote-plugin.py:221 -#: ../src/gajim-remote-plugin.py:228 ../src/gajim-remote-plugin.py:239 -#: ../src/gajim-remote-plugin.py:255 ../src/gajim-remote-plugin.py:264 #: ../src/gajim-remote.py:96 ../src/gajim-remote.py:111 #: ../src/gajim-remote.py:121 ../src/gajim-remote.py:131 #: ../src/gajim-remote.py:147 ../src/gajim-remote.py:161 @@ -8522,33 +8495,37 @@ msgstr "" msgid "account" msgstr "Konto" -#: ../src/gajim-remote-plugin.py:93 ../src/gajim-remote.py:96 +#: ../src/gajim-remote.py:96 msgid "show only contacts of the given account" msgstr "zeige nur Kontakte für das gegebene Konto" -#: ../src/gajim-remote-plugin.py:99 ../src/gajim-remote.py:102 +#: ../src/gajim-remote.py:102 msgid "Prints a list of registered accounts" msgstr "Gibt eine Liste registrierter Konten aus" -#: ../src/gajim-remote-plugin.py:103 ../src/gajim-remote.py:106 +#: ../src/gajim-remote.py:106 msgid "Changes the status of account or accounts" msgstr "Ändert den Status eines oder mehrerer Konten" #. offline, online, chat, away, xa, dnd, invisible should not be translated -#: ../src/gajim-remote-plugin.py:106 ../src/gajim-remote.py:109 +#: ../src/gajim-remote.py:109 msgid "status" msgstr "Status" -#: ../src/gajim-remote-plugin.py:106 +#: ../src/gajim-remote.py:109 #, fuzzy -msgid "one of: offline, online, chat, away, xa, dnd, invisible " -msgstr "Mögliche Werte: offline, online, chat, away, xa, dnd, invisible " +msgid "" +"one of: offline, online, chat, away, xa, dnd, invisible. If not set, use " +"account's previous status" +msgstr "" +"Ein Wert von: offline, online, chat, away, xa, dnd, invisible. Wenn nicht " +"definiert, wird der letzte Kontostatus verwendet" -#: ../src/gajim-remote-plugin.py:107 ../src/gajim-remote.py:110 +#: ../src/gajim-remote.py:110 msgid "status message" msgstr "Statusnachricht" -#: ../src/gajim-remote-plugin.py:108 ../src/gajim-remote.py:111 +#: ../src/gajim-remote.py:111 msgid "" "change status of account \"account\". If not specified, try to change status " "of all accounts that have \"sync with global status\" option set" @@ -8557,320 +8534,6 @@ msgstr "" "aller Konten für die die Option \"Kontostatus mit globalem Status " "synchronisieren\" aktiviert ist" -#: ../src/gajim-remote-plugin.py:114 ../src/gajim-remote.py:127 -msgid "Shows the chat dialog so that you can send messages to a contact" -msgstr "" -"Zeige Chatfenster, sodass eine Nachricht an einen Kontakt gesendet werden " -"kann" - -#: ../src/gajim-remote-plugin.py:116 ../src/gajim-remote.py:129 -msgid "JID of the contact that you want to chat with" -msgstr "Jabber-ID des Kontakts, mit dem Sie chatten möchten" - -#: ../src/gajim-remote-plugin.py:118 ../src/gajim-remote-plugin.py:205 -#: ../src/gajim-remote.py:131 ../src/gajim-remote.py:221 -msgid "if specified, contact is taken from the contact list of this account" -msgstr "falls angegeben, wird der Kontakt von der Liste dieses Kontos gewählt" - -#: ../src/gajim-remote-plugin.py:123 ../src/gajim-remote.py:139 -msgid "" -"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 ''." -msgstr "" -"Sendet eine Nachricht an einen Kontakt in der Kontaktliste. OpenPGP-" -"Schlüssel und Konto sind optional. Falls nur das Konto ohne einen OpenGPG-" -"Schlüssel gesetzt werden soll, setzen Sie 'OpenGPG-Schlüssel' einfach auf ''." - -#: ../src/gajim-remote-plugin.py:127 ../src/gajim-remote-plugin.py:140 -#: ../src/gajim-remote.py:143 ../src/gajim-remote.py:156 -msgid "JID of the contact that will receive the message" -msgstr "Jabber-ID des Kontakts, der die Nachricht empfangen soll" - -#: ../src/gajim-remote-plugin.py:128 ../src/gajim-remote-plugin.py:142 -#: ../src/gajim-remote-plugin.py:153 ../src/gajim-remote.py:144 -#: ../src/gajim-remote.py:158 ../src/gajim-remote.py:169 -msgid "message contents" -msgstr "Nachrichteninhalt" - -# TODO: GPG/PGP unification in original strings needed -#: ../src/gajim-remote-plugin.py:129 ../src/gajim-remote-plugin.py:143 -#: ../src/gajim-remote.py:145 ../src/gajim-remote.py:159 -msgid "pgp key" -msgstr "PGP-Schlüssel" - -#: ../src/gajim-remote-plugin.py:129 ../src/gajim-remote-plugin.py:143 -#: ../src/gajim-remote.py:145 ../src/gajim-remote.py:159 -msgid "if specified, the message will be encrypted using this public key" -msgstr "falls angegeben, wird die Nachricht damit verschlüsselt" - -#: ../src/gajim-remote-plugin.py:131 ../src/gajim-remote-plugin.py:145 -#: ../src/gajim-remote-plugin.py:154 ../src/gajim-remote.py:147 -#: ../src/gajim-remote.py:161 ../src/gajim-remote.py:170 -msgid "if specified, the message will be sent using this account" -msgstr "falls angegeben, wird die Nachricht über dieses Konto gesendet" - -#: ../src/gajim-remote-plugin.py:136 ../src/gajim-remote.py:152 -msgid "" -"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 ''." -msgstr "" -"Sendet eine Nachricht an einen Kontakt in der Kontaktliste. OpenPGP-" -"Schlüssel und Konto sind optional. Falls nur das Konto ohne einen OpenGPG-" -"Schlüssel gesetzt werden soll, setzen Sie 'OpenGPG-Schlüssel' einfach auf ''." - -#: ../src/gajim-remote-plugin.py:141 ../src/gajim-remote.py:157 -msgid "subject" -msgstr "Betreff" - -#: ../src/gajim-remote-plugin.py:141 ../src/gajim-remote.py:157 -msgid "message subject" -msgstr "Nachrichten-Betreff" - -#: ../src/gajim-remote-plugin.py:150 ../src/gajim-remote.py:166 -msgid "Sends new message to a groupchat you've joined." -msgstr "Sendet eine neue Nachricht an einen Chatraum, den Sie betreten haben." - -#: ../src/gajim-remote-plugin.py:152 ../src/gajim-remote.py:168 -msgid "JID of the room that will receive the message" -msgstr "Jabber-ID des Chatraums, der die Nachricht empfangen soll" - -#: ../src/gajim-remote-plugin.py:159 ../src/gajim-remote.py:175 -msgid "Gets detailed info on a contact" -msgstr "Zeige detaillierte Informationen über einen Kontakt" - -#: ../src/gajim-remote-plugin.py:161 ../src/gajim-remote-plugin.py:174 -#: ../src/gajim-remote-plugin.py:204 ../src/gajim-remote-plugin.py:213 -#: ../src/gajim-remote.py:177 ../src/gajim-remote.py:190 -#: ../src/gajim-remote.py:220 ../src/gajim-remote.py:229 -msgid "JID of the contact" -msgstr "Jabber-ID des Kontakts" - -#: ../src/gajim-remote-plugin.py:165 ../src/gajim-remote.py:181 -msgid "Gets detailed info on a account" -msgstr "Zeige detaillierte Informationen über ein Konto" - -#: ../src/gajim-remote-plugin.py:167 ../src/gajim-remote.py:183 -msgid "Name of the account" -msgstr "Name des Kontos" - -#: ../src/gajim-remote-plugin.py:171 ../src/gajim-remote.py:187 -msgid "Sends file to a contact" -msgstr "Sendet dem Kontakt eine Datei" - -#: ../src/gajim-remote-plugin.py:173 ../src/gajim-remote.py:189 -msgid "file" -msgstr "Datei" - -#: ../src/gajim-remote-plugin.py:173 ../src/gajim-remote.py:189 -msgid "File path" -msgstr "Dateipfad" - -#: ../src/gajim-remote-plugin.py:175 ../src/gajim-remote.py:191 -msgid "if specified, file will be sent using this account" -msgstr "Wenn angegeben, wird die Nachricht über dieses Konto gesendet" - -#: ../src/gajim-remote-plugin.py:180 ../src/gajim-remote.py:196 -msgid "Lists all preferences and their values" -msgstr "Zeigt alle Einstellungen und ihre Werte" - -#: ../src/gajim-remote-plugin.py:184 ../src/gajim-remote.py:200 -msgid "Sets value of 'key' to 'value'." -msgstr "Setzt den Wert von 'Schlüssel' auf 'Wert'." - -#: ../src/gajim-remote-plugin.py:186 ../src/gajim-remote.py:202 -msgid "key=value" -msgstr "Schlüssel=Wert" - -#: ../src/gajim-remote-plugin.py:186 ../src/gajim-remote.py:202 -msgid "'key' is the name of the preference, 'value' is the value to set it to" -msgstr "" -"'Schlüssel' ist der Name der Einstellung, 'Wert' ist der der einzustellende " -"Wert" - -#: ../src/gajim-remote-plugin.py:191 ../src/gajim-remote.py:207 -msgid "Deletes a preference item" -msgstr "Löscht eine Einstellung" - -#: ../src/gajim-remote-plugin.py:193 ../src/gajim-remote.py:209 -msgid "key" -msgstr "Schlüssel" - -#: ../src/gajim-remote-plugin.py:193 ../src/gajim-remote.py:209 -msgid "name of the preference to be deleted" -msgstr "Name der zu löschenden Einstellung" - -#: ../src/gajim-remote-plugin.py:197 ../src/gajim-remote.py:213 -msgid "Writes the current state of Gajim preferences to the .config file" -msgstr "Schreibt die aktuellen Gajim-Einstellungen in die Konfigurationsdatei" - -#: ../src/gajim-remote-plugin.py:202 ../src/gajim-remote.py:218 -msgid "Removes contact from roster" -msgstr "Entfernt den Kontakt aus der Kontaktliste" - -#: ../src/gajim-remote-plugin.py:211 ../src/gajim-remote.py:227 -msgid "Adds contact to roster" -msgstr "Fügt den Kontakt der Kontaktliste hinzu" - -#: ../src/gajim-remote-plugin.py:214 ../src/gajim-remote.py:230 -msgid "Adds new contact to this account" -msgstr "Fügt einen neuen Kontakt zu diesem Konto hinzu" - -#: ../src/gajim-remote-plugin.py:219 ../src/gajim-remote.py:235 -msgid "Returns current status (the global one unless account is specified)" -msgstr "" -"Gibt den derzeitigen Status zurück (den globalen Status, es sei denn, es " -"wird ein Konto angegeben)" - -#: ../src/gajim-remote-plugin.py:226 -#, fuzzy -msgid "" -"Returns current status message(the global one unless account is specified)" -msgstr "" -"Gibt die derzeitige Statusnachricht zurück (die globale, es sei denn, es " -"wird ein Konto angegeben)" - -#: ../src/gajim-remote-plugin.py:233 ../src/gajim-remote.py:249 -msgid "Returns number of unread messages" -msgstr "Gibt die Anzahl der ungelesenen Nachrichten zurück" - -#: ../src/gajim-remote-plugin.py:237 ../src/gajim-remote.py:253 -msgid "Opens 'Start Chat' dialog" -msgstr "Öffnet den Dialog zum Beginnen eines Chats" - -#: ../src/gajim-remote-plugin.py:239 ../src/gajim-remote.py:255 -msgid "Starts chat, using this account" -msgstr "Startet einen Chat über dieses Konto" - -#: ../src/gajim-remote-plugin.py:243 ../src/gajim-remote.py:259 -msgid "Sends custom XML" -msgstr "Benutzerdefinierten XML-Code senden" - -#: ../src/gajim-remote-plugin.py:245 ../src/gajim-remote.py:261 -msgid "XML to send" -msgstr "Zu sendender XML-Code" - -#: ../src/gajim-remote-plugin.py:246 ../src/gajim-remote.py:262 -msgid "" -"Account in which the xml will be sent; if not specified, xml will be sent to " -"all accounts" -msgstr "" -"Konto, an welches der XML-Code gesendet wird; falls nicht angegeben, wird " -"der XML-Code an alle Konten gesendet" - -#: ../src/gajim-remote-plugin.py:252 ../src/gajim-remote.py:277 -msgid "Handle a xmpp:/ uri" -msgstr "Verarbeite einen xmpp:/-URI" - -#: ../src/gajim-remote-plugin.py:254 ../src/gajim-remote.py:279 -msgid "uri" -msgstr "URI" - -#: ../src/gajim-remote-plugin.py:259 ../src/gajim-remote.py:286 -msgid "Join a MUC room" -msgstr "Neuen Chatraum betreten" - -#: ../src/gajim-remote-plugin.py:261 ../src/gajim-remote.py:288 -msgid "room" -msgstr "Chatraum" - -#: ../src/gajim-remote-plugin.py:262 ../src/gajim-remote.py:289 -msgid "nick" -msgstr "Spitzname" - -#: ../src/gajim-remote-plugin.py:263 ../src/gajim-remote.py:290 -msgid "password" -msgstr "Passwort" - -#: ../src/gajim-remote-plugin.py:268 ../src/gajim-remote.py:296 -msgid "Check if Gajim is running" -msgstr "Bitte überprüfen Sie, ob Gajim läuft" - -#: ../src/gajim-remote-plugin.py:272 ../src/gajim-remote-plugin.py:282 -#: ../src/gajim-remote.py:300 -msgid "Shows or hides the ipython window" -msgstr "Ein- oder Ausblenden des Hauptfensters" - -#: ../src/gajim-remote-plugin.py:306 ../src/gajim-remote.py:327 -msgid "Missing argument \"contact_jid\"" -msgstr "Fehlendes Argument \"contact_Jabber-ID\"" - -#: ../src/gajim-remote-plugin.py:325 ../src/gajim-remote.py:348 -#, python-format -msgid "" -"'%s' is not in your roster.\n" -"Please specify account for sending the message." -msgstr "" -"'%s' ist nicht in Ihrer Kontaktliste.\n" -"Bitte geben Sie ein Konto zum Senden der Nachricht an." - -#: ../src/gajim-remote-plugin.py:328 ../src/gajim-remote.py:351 -msgid "You have no active account" -msgstr "Kein aktives Konto" - -#: ../src/gajim-remote-plugin.py:383 ../src/gajim-remote.py:404 -msgid "It seems Gajim is not running. So you can't use gajim-remote." -msgstr "" -"Gajim scheint nicht gestartet zu sein, daher kann gajim-remote nicht genutzt " -"werden." - -#: ../src/gajim-remote-plugin.py:412 -#, python-format -msgid "" -"Usage: %s %s %s \n" -"\t %s" -msgstr "" - -#: ../src/gajim-remote-plugin.py:415 ../src/gajim-remote.py:435 -msgid "Arguments:" -msgstr "Parameter:" - -#: ../src/gajim-remote-plugin.py:419 ../src/gajim-remote.py:439 -#, python-format -msgid "%s not found" -msgstr "%s nicht gefunden" - -#: ../src/gajim-remote-plugin.py:423 ../src/gajim-remote.py:445 -#, python-format -msgid "" -"Usage: %s command [arguments]\n" -"Command is one of:\n" -msgstr "" -"Verwendung: %s Befehl [Argumente]\n" -"Der Befehl ist einer von:\n" - -#: ../src/gajim-remote-plugin.py:496 -#, fuzzy, python-format -msgid "" -"Too many arguments. \n" -"Type \"%s help %s\" for more info" -msgstr "" -"Zu viele Argumente.\n" -"Geben Sie \"%(basename)s help %(command)s\" ein, um weitere Informationen zu " -"erhalten" - -#: ../src/gajim-remote-plugin.py:500 -#, fuzzy, python-format -msgid "" -"Argument \"%s\" is not specified. \n" -"Type \"%s help %s\" for more info" -msgstr "" -"Argument \"%(arg)s\" wurde nicht definiert. \n" -"Geben Sie \"%(basename)s help %(command)s\" ein, um weitere Informationen zu " -"erhalten" - -#: ../src/gajim-remote-plugin.py:518 ../src/gajim-remote.py:540 -msgid "Wrong uri" -msgstr "Falscher URI" - -#: ../src/gajim-remote.py:109 -#, fuzzy -msgid "" -"one of: offline, online, chat, away, xa, dnd, invisible. If not set, use " -"account's previous status" -msgstr "Mögliche Werte: offline, online, chat, away, xa, dnd, invisible " - #: ../src/gajim-remote.py:117 msgid "Changes the priority of account or accounts" msgstr "Ändert die Priorität eines oder mehrerer Konten" @@ -8892,10 +8555,168 @@ msgstr "" "aller Konten für die die Option \"Kontostatus mit globalem Status " "synchronisieren\" aktiviert ist" +#: ../src/gajim-remote.py:127 +msgid "Shows the chat dialog so that you can send messages to a contact" +msgstr "" +"Zeige Chatfenster, sodass eine Nachricht an einen Kontakt gesendet werden " +"kann" + +#: ../src/gajim-remote.py:129 +msgid "JID of the contact that you want to chat with" +msgstr "Jabber-ID des Kontakts, mit dem Sie chatten möchten" + +#: ../src/gajim-remote.py:131 ../src/gajim-remote.py:221 +msgid "if specified, contact is taken from the contact list of this account" +msgstr "falls angegeben, wird der Kontakt von der Liste dieses Kontos gewählt" + #: ../src/gajim-remote.py:134 msgid "message content. The account must be specified or \"\"" msgstr "Nachrichteninhalt. Das Konto muss angegeben werden oder \"\"" +#: ../src/gajim-remote.py:139 +msgid "" +"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 ''." +msgstr "" +"Sendet eine Nachricht an einen Kontakt in der Kontaktliste. OpenPGP-" +"Schlüssel und Konto sind optional. Falls nur das Konto ohne einen OpenGPG-" +"Schlüssel gesetzt werden soll, setzen Sie 'OpenGPG-Schlüssel' einfach auf ''." + +#: ../src/gajim-remote.py:143 ../src/gajim-remote.py:156 +msgid "JID of the contact that will receive the message" +msgstr "Jabber-ID des Kontakts, der die Nachricht empfangen soll" + +#: ../src/gajim-remote.py:144 ../src/gajim-remote.py:158 +#: ../src/gajim-remote.py:169 +msgid "message contents" +msgstr "Nachrichteninhalt" + +# TODO: GPG/PGP unification in original strings needed +#: ../src/gajim-remote.py:145 ../src/gajim-remote.py:159 +msgid "pgp key" +msgstr "PGP-Schlüssel" + +#: ../src/gajim-remote.py:145 ../src/gajim-remote.py:159 +msgid "if specified, the message will be encrypted using this public key" +msgstr "falls angegeben, wird die Nachricht damit verschlüsselt" + +#: ../src/gajim-remote.py:147 ../src/gajim-remote.py:161 +#: ../src/gajim-remote.py:170 +msgid "if specified, the message will be sent using this account" +msgstr "falls angegeben, wird die Nachricht über dieses Konto gesendet" + +#: ../src/gajim-remote.py:152 +msgid "" +"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 ''." +msgstr "" +"Sendet eine Nachricht an einen Kontakt in der Kontaktliste. OpenPGP-" +"Schlüssel und Konto sind optional. Falls nur das Konto ohne einen OpenGPG-" +"Schlüssel gesetzt werden soll, setzen Sie 'OpenGPG-Schlüssel' einfach auf ''." + +#: ../src/gajim-remote.py:157 +msgid "subject" +msgstr "Betreff" + +#: ../src/gajim-remote.py:157 +msgid "message subject" +msgstr "Nachrichten-Betreff" + +#: ../src/gajim-remote.py:166 +msgid "Sends new message to a groupchat you've joined." +msgstr "Sendet eine neue Nachricht an einen Chatraum, den Sie betreten haben." + +#: ../src/gajim-remote.py:168 +msgid "JID of the room that will receive the message" +msgstr "Jabber-ID des Chatraums, der die Nachricht empfangen soll" + +#: ../src/gajim-remote.py:175 +msgid "Gets detailed info on a contact" +msgstr "Zeige detaillierte Informationen über einen Kontakt" + +#: ../src/gajim-remote.py:177 ../src/gajim-remote.py:190 +#: ../src/gajim-remote.py:220 ../src/gajim-remote.py:229 +msgid "JID of the contact" +msgstr "Jabber-ID des Kontakts" + +#: ../src/gajim-remote.py:181 +msgid "Gets detailed info on a account" +msgstr "Zeige detaillierte Informationen über ein Konto" + +#: ../src/gajim-remote.py:183 +msgid "Name of the account" +msgstr "Name des Kontos" + +#: ../src/gajim-remote.py:187 +msgid "Sends file to a contact" +msgstr "Sendet dem Kontakt eine Datei" + +#: ../src/gajim-remote.py:189 +msgid "file" +msgstr "Datei" + +#: ../src/gajim-remote.py:189 +msgid "File path" +msgstr "Dateipfad" + +#: ../src/gajim-remote.py:191 +msgid "if specified, file will be sent using this account" +msgstr "Wenn angegeben, wird die Nachricht über dieses Konto gesendet" + +#: ../src/gajim-remote.py:196 +msgid "Lists all preferences and their values" +msgstr "Zeigt alle Einstellungen und ihre Werte" + +#: ../src/gajim-remote.py:200 +msgid "Sets value of 'key' to 'value'." +msgstr "Setzt den Wert von 'Schlüssel' auf 'Wert'." + +#: ../src/gajim-remote.py:202 +msgid "key=value" +msgstr "Schlüssel=Wert" + +#: ../src/gajim-remote.py:202 +msgid "'key' is the name of the preference, 'value' is the value to set it to" +msgstr "" +"'Schlüssel' ist der Name der Einstellung, 'Wert' ist der der einzustellende " +"Wert" + +#: ../src/gajim-remote.py:207 +msgid "Deletes a preference item" +msgstr "Löscht eine Einstellung" + +#: ../src/gajim-remote.py:209 +msgid "key" +msgstr "Schlüssel" + +#: ../src/gajim-remote.py:209 +msgid "name of the preference to be deleted" +msgstr "Name der zu löschenden Einstellung" + +#: ../src/gajim-remote.py:213 +msgid "Writes the current state of Gajim preferences to the .config file" +msgstr "Schreibt die aktuellen Gajim-Einstellungen in die Konfigurationsdatei" + +#: ../src/gajim-remote.py:218 +msgid "Removes contact from roster" +msgstr "Entfernt den Kontakt aus der Kontaktliste" + +#: ../src/gajim-remote.py:227 +msgid "Adds contact to roster" +msgstr "Fügt den Kontakt der Kontaktliste hinzu" + +#: ../src/gajim-remote.py:230 +msgid "Adds new contact to this account" +msgstr "Fügt einen neuen Kontakt zu diesem Konto hinzu" + +#: ../src/gajim-remote.py:235 +msgid "Returns current status (the global one unless account is specified)" +msgstr "" +"Gibt den derzeitigen Status zurück (den globalen Status, es sei denn, es " +"wird ein Konto angegeben)" + #: ../src/gajim-remote.py:242 msgid "" "Returns current status message (the global one unless account is specified)" @@ -8903,24 +8724,57 @@ msgstr "" "Gibt die derzeitige Statusnachricht zurück (die globale, es sei denn, es " "wird ein Konto angegeben)" +#: ../src/gajim-remote.py:249 +msgid "Returns number of unread messages" +msgstr "Gibt die Anzahl der ungelesenen Nachrichten zurück" + +#: ../src/gajim-remote.py:253 +msgid "Opens 'Start Chat' dialog" +msgstr "Öffnet den Dialog zum Beginnen eines Chats" + +#: ../src/gajim-remote.py:255 +msgid "Starts chat, using this account" +msgstr "Startet einen Chat über dieses Konto" + +#: ../src/gajim-remote.py:259 +msgid "Sends custom XML" +msgstr "Benutzerdefinierten XML-Code senden" + +#: ../src/gajim-remote.py:261 +msgid "XML to send" +msgstr "Zu sendender XML-Code" + +#: ../src/gajim-remote.py:262 +msgid "" +"Account in which the xml will be sent; if not specified, xml will be sent to " +"all accounts" +msgstr "" +"Konto, an welches der XML-Code gesendet wird; falls nicht angegeben, wird " +"der XML-Code an alle Konten gesendet" + #: ../src/gajim-remote.py:268 -#, fuzzy msgid "Change the avatar" -msgstr "Status ändern" +msgstr "Avatar ändern" #: ../src/gajim-remote.py:270 -#, fuzzy msgid "Picture to use" -msgstr "Spitzname, der benutzt werden soll" +msgstr "Bild, das benutzt werden soll" #: ../src/gajim-remote.py:271 -#, fuzzy msgid "" "Account in which the avatar will be set; if not specified, the avatar will " "be set for all accounts" msgstr "" -"Konto, an welches der XML-Code gesendet wird; falls nicht angegeben, wird " -"der XML-Code an alle Konten gesendet" +"Konto, für das der Avatar definiert wird; falls nicht angegeben, wird der " +"Avatar allen Konten zugewiesen" + +#: ../src/gajim-remote.py:277 +msgid "Handle a xmpp:/ uri" +msgstr "Verarbeite einen xmpp:/-URI" + +#: ../src/gajim-remote.py:279 +msgid "uri" +msgstr "URI" #: ../src/gajim-remote.py:279 msgid "URI to handle" @@ -8934,14 +8788,30 @@ msgstr "Konto, mit dem er verarbeitet werden soll" msgid "Message content" msgstr "Nachrichteninhalt" +#: ../src/gajim-remote.py:286 +msgid "Join a MUC room" +msgstr "Neuen Chatraum betreten" + +#: ../src/gajim-remote.py:288 +msgid "room" +msgstr "Chatraum" + #: ../src/gajim-remote.py:288 msgid "Room JID" msgstr "Jabber-ID des Chatraums" +#: ../src/gajim-remote.py:289 +msgid "nick" +msgstr "Spitzname" + #: ../src/gajim-remote.py:289 msgid "Nickname to use" msgstr "Spitzname, der benutzt werden soll" +#: ../src/gajim-remote.py:290 +msgid "password" +msgstr "Passwort" + #: ../src/gajim-remote.py:290 msgid "Password to enter the room" msgstr "Das Passwort, um den Chatraum zu betreten" @@ -8950,7 +8820,38 @@ msgstr "Das Passwort, um den Chatraum zu betreten" msgid "Account from which you want to enter the room" msgstr "Das Konto, mit dem Sie den Chatraum betreten möchten" -#: ../src/gajim-remote.py:431 +#: ../src/gajim-remote.py:296 +msgid "Check if Gajim is running" +msgstr "Bitte überprüfen Sie, ob Gajim läuft" + +#: ../src/gajim-remote.py:300 +msgid "Shows or hides the ipython window" +msgstr "Ein- oder Ausblenden des Hauptfensters" + +#: ../src/gajim-remote.py:327 +msgid "Missing argument \"contact_jid\"" +msgstr "Fehlendes Argument \"contact_Jabber-ID\"" + +#: ../src/gajim-remote.py:349 +#, python-format +msgid "" +"'%s' is not in your roster.\n" +"Please specify account for sending the message." +msgstr "" +"'%s' ist nicht in Ihrer Kontaktliste.\n" +"Bitte geben Sie ein Konto zum Senden der Nachricht an." + +#: ../src/gajim-remote.py:352 +msgid "You have no active account" +msgstr "Kein aktives Konto" + +#: ../src/gajim-remote.py:405 +msgid "It seems Gajim is not running. So you can't use gajim-remote." +msgstr "" +"Gajim scheint nicht gestartet zu sein, daher kann gajim-remote nicht genutzt " +"werden." + +#: ../src/gajim-remote.py:432 #, python-format msgid "" "Usage: %(basename)s %(command)s %(arguments)s \n" @@ -8959,7 +8860,25 @@ msgstr "" "Verwendung: %(basename)s %(command)s %(arguments)s \n" "\t %(help)s" -#: ../src/gajim-remote.py:514 +#: ../src/gajim-remote.py:436 +msgid "Arguments:" +msgstr "Parameter:" + +#: ../src/gajim-remote.py:440 +#, python-format +msgid "%s not found" +msgstr "%s nicht gefunden" + +#: ../src/gajim-remote.py:446 +#, python-format +msgid "" +"Usage: %s command [arguments]\n" +"Command is one of:\n" +msgstr "" +"Verwendung: %s Befehl [Argumente]\n" +"Der Befehl ist einer von:\n" + +#: ../src/gajim-remote.py:515 #, python-format msgid "" "Too many arguments. \n" @@ -8969,7 +8888,7 @@ msgstr "" "Geben Sie \"%(basename)s help %(command)s\" ein, um weitere Informationen zu " "erhalten" -#: ../src/gajim-remote.py:519 +#: ../src/gajim-remote.py:520 #, python-format msgid "" "Argument \"%(arg)s\" is not specified. \n" @@ -8979,9 +8898,13 @@ msgstr "" "Geben Sie \"%(basename)s help %(command)s\" ein, um weitere Informationen zu " "erhalten" -#: ../src/gajim-remote.py:538 +#: ../src/gajim-remote.py:539 msgid "No uri given" -msgstr "" +msgstr "Kein URI angegeben" + +#: ../src/gajim-remote.py:541 +msgid "Wrong uri" +msgstr "Falscher URI" #: ../src/gajim_themes_window.py:59 msgid "Theme" @@ -9009,183 +8932,222 @@ msgid "Please first choose another for your current theme." msgstr "" "Bitte wählen Sie zuerst einen anderen Namen für Ihr derzeitiges Design." -#: ../src/groupchat_control.py:170 +#: ../src/groupchat_control.py:176 ../src/groupchat_control.py:1563 +#, python-format +msgid "%(nick)s is now known as %(new_nick)s" +msgstr "%(nick)s heißt jetzt %(new_nick)s" + +#: ../src/groupchat_control.py:202 ../src/groupchat_control.py:1761 +#: ../src/history_window.py:447 ../src/notify.py:169 +#, python-format +msgid "%(nick)s is now %(status)s" +msgstr "%(nick)s ist jetzt %(status)s" + +#: ../src/groupchat_control.py:230 msgid "Sending private message failed" msgstr "Senden privater Nachricht fehlgeschlagen" #. in second %s code replaces with nickname -#: ../src/groupchat_control.py:172 +#: ../src/groupchat_control.py:232 #, python-format msgid "You are no longer in group chat \"%(room)s\" or \"%(nick)s\" has left." msgstr "" "Entweder sind Sie nicht mehr im Chatraum \"%(room)s\" oder \"%(nick)s\" hat " "den Chatraum verlassen." -#: ../src/groupchat_control.py:455 +#: ../src/groupchat_control.py:561 msgid "Insert Nickname" msgstr "Spitzname einfügen" -#: ../src/groupchat_control.py:636 +#: ../src/groupchat_control.py:746 msgid "Conversation with " msgstr "Unterhaltung mit " -#: ../src/groupchat_control.py:638 +#: ../src/groupchat_control.py:748 msgid "Continued conversation" msgstr "Unterhaltung fortsetzen" +#: ../src/groupchat_control.py:1228 +#, fuzzy, python-format +msgid "%(nick)s has set the subject to %(subject)s" +msgstr "%(jid)s hat das Thema in %(subject)s geändert" + #. Can be a presence (see chg_contact_status in groupchat_control.py) -#: ../src/groupchat_control.py:1282 ../src/gui_interface.py:923 +#: ../src/groupchat_control.py:1246 ../src/groupchat_control.py:1505 msgid "Any occupant is allowed to see your full JID" msgstr "Jeder Teilnehmer darf Ihre vollständige Jabber-ID sehen" +#: ../src/groupchat_control.py:1249 +msgid "Room now shows unavailable member" +msgstr "Der Chatraum zeigt nun abwesende Teilnehmer an" + +#: ../src/groupchat_control.py:1251 +msgid "room now does not show unavailable members" +msgstr "Der Chatraum zeigt nun abwesende Teilnehmer nicht mehr an" + +#: ../src/groupchat_control.py:1253 +msgid "A non-privacy-related room configuration change has occurred" +msgstr "" +"Eine nicht Privatsphären-bezogene Chatraum-Konfigurations-Änderung ist " +"aufgetreten" + +#. Can be a presence (see chg_contact_status in groupchat_control.py) +#: ../src/groupchat_control.py:1257 +msgid "Room logging is now enabled" +msgstr "Die Chatraum-Aufzeichnung ist jetzt aktiviert" + +#: ../src/groupchat_control.py:1259 +msgid "Room logging is now disabled" +msgstr "Die Chatraum-Aufzeichnung ist jetzt deaktiviert" + +#: ../src/groupchat_control.py:1261 +msgid "Room is now non-anonymous" +msgstr "Der Chatraum ist jetzt nicht mehr anonym" + +#: ../src/groupchat_control.py:1264 +msgid "Room is now semi-anonymous" +msgstr "Der Chatraum ist jetzt semi-anonym" + +#: ../src/groupchat_control.py:1267 +msgid "Room is now fully-anonymous" +msgstr "Der Chatraum ist jetzt komplett anonym" + #. Can be a message (see handle_event_gc_config_change in #. gajim.py) -#: ../src/groupchat_control.py:1286 +#: ../src/groupchat_control.py:1510 msgid "Room logging is enabled" msgstr "Chatraum-Aufzeichnung ist aktiviert" -#: ../src/groupchat_control.py:1288 +#: ../src/groupchat_control.py:1512 msgid "A new room has been created" msgstr "Ein neuer Chatraum wurde erstellt" -#: ../src/groupchat_control.py:1291 +#: ../src/groupchat_control.py:1515 msgid "The server has assigned or modified your roomnick" msgstr "Der Server hat Ihren Chatraum-Nick zugewiesen oder verändert" #. do not print 'kicked by None' -#: ../src/groupchat_control.py:1297 +#: ../src/groupchat_control.py:1521 #, python-format msgid "%(nick)s has been kicked: %(reason)s" msgstr "%(nick)s wurde aus dem Chatraum geworfen. Grund: %(reason)s" -#: ../src/groupchat_control.py:1300 +#: ../src/groupchat_control.py:1524 #, python-format msgid "%(nick)s has been kicked by %(who)s: %(reason)s" msgstr "" "%(nick)s wurde von %(who)s aus dem Chatraum geworfen. Grund: %(reason)s" #. do not print 'banned by None' -#: ../src/groupchat_control.py:1309 +#: ../src/groupchat_control.py:1533 #, python-format msgid "%(nick)s has been banned: %(reason)s" msgstr "%(nick)s wurde gebannt. Grund: %(reason)s" -#: ../src/groupchat_control.py:1312 +#: ../src/groupchat_control.py:1536 #, python-format msgid "%(nick)s has been banned by %(who)s: %(reason)s" msgstr "%(nick)s wurde von %(who)s gebannt. Grund: %(reason)s" -#: ../src/groupchat_control.py:1323 ../src/groupchat_control.py:1427 +#: ../src/groupchat_control.py:1547 ../src/groupchat_control.py:1651 #, python-format msgid "You are now known as %s" msgstr "Sie heißen nun %s" -#: ../src/groupchat_control.py:1339 ../src/gui_interface.py:763 -#, python-format -msgid "%(nick)s is now known as %(new_nick)s" -msgstr "%(nick)s heißt jetzt %(new_nick)s" - -#: ../src/groupchat_control.py:1381 ../src/groupchat_control.py:1386 -#: ../src/groupchat_control.py:1392 +#: ../src/groupchat_control.py:1605 ../src/groupchat_control.py:1610 +#: ../src/groupchat_control.py:1616 #, python-format msgid "%(nick)s has been removed from the room (%(reason)s)" msgstr "%(nick)s wurde aus dem Chatraum geworfen. Grund: %(reason)s" -#: ../src/groupchat_control.py:1383 +#: ../src/groupchat_control.py:1607 msgid "affiliation changed" msgstr "Zugehörigkeit geändert:" -#: ../src/groupchat_control.py:1388 +#: ../src/groupchat_control.py:1612 msgid "room configuration changed to members-only" msgstr "" "Chatraum-Konfiguration wurde auf \"ausschließlich Mitgleider\" geändert" -#: ../src/groupchat_control.py:1394 +#: ../src/groupchat_control.py:1618 msgid "system shutdown" -msgstr "Server wird heruntergefahren" +msgstr "Computer wird heruntergefahren" -#: ../src/groupchat_control.py:1477 +#: ../src/groupchat_control.py:1701 #, python-format msgid "** Affiliation of %(nick)s has been set to %(affiliation)s by %(actor)s" msgstr "" "** Mitgliedschaft von %(nick)s wurde von %(actor)s auf %(affiliation)s " "gesetzt" -#: ../src/groupchat_control.py:1481 +#: ../src/groupchat_control.py:1705 #, python-format msgid "** Affiliation of %(nick)s has been set to %(affiliation)s" -msgstr "** Mitgliedschaft von %(nick)s wurde auf %(affiliation)s gesetzt" +msgstr "** Mitgliedschaft von %(nick)s wurde an %(affiliation)s gesendet" -#: ../src/groupchat_control.py:1496 +#: ../src/groupchat_control.py:1720 #, python-format msgid "** Role of %(nick)s has been set to %(role)s by %(actor)s" msgstr "** Die Rolle von %(nick)s wurde durch %(actor)s in %(role)s geändert" -#: ../src/groupchat_control.py:1500 +#: ../src/groupchat_control.py:1724 #, python-format msgid "** Role of %(nick)s has been set to %(role)s" msgstr "** Die Rolle von %(nick)s wurde in %(role)s geändert" -#: ../src/groupchat_control.py:1530 +#: ../src/groupchat_control.py:1754 #, python-format msgid "%s has left" msgstr "%s ist gegangen" -#: ../src/groupchat_control.py:1535 +#: ../src/groupchat_control.py:1759 #, python-format msgid "%s has joined the group chat" msgstr "%s hat den Chatraum betreten" -#: ../src/groupchat_control.py:1537 ../src/gui_interface.py:790 -#: ../src/history_window.py:447 ../src/notify.py:234 -#, python-format -msgid "%(nick)s is now %(status)s" -msgstr "%(nick)s ist jetzt %(status)s" - -#: ../src/groupchat_control.py:1774 +#: ../src/groupchat_control.py:2015 #, python-format msgid "Are you sure you want to leave group chat \"%s\"?" msgstr "Möchten Sie den Chatraum \"%s\" wirklich verlassen?" -#: ../src/groupchat_control.py:1776 +#: ../src/groupchat_control.py:2017 msgid "" "If you close this window, you will be disconnected from this group chat." msgstr "" "Wenn Sie dieses Fenster schließen, wird die Verbindung zu diesem Chatraum " "geschlossen." -#: ../src/groupchat_control.py:1780 ../src/gui_interface.py:1021 -#: ../src/gui_interface.py:1781 ../src/gui_interface.py:1818 -#: ../src/gui_interface.py:1853 ../src/message_window.py:224 -#: ../src/roster_window.py:2805 ../src/roster_window.py:3465 -#: ../src/roster_window.py:4195 -#, fuzzy +#: ../src/groupchat_control.py:2021 ../src/gui_interface.py:695 +#: ../src/gui_interface.py:1304 ../src/gui_interface.py:1344 +#: ../src/gui_interface.py:1385 ../src/message_window.py:224 +#: ../src/roster_window.py:2941 ../src/roster_window.py:3616 +#: ../src/roster_window.py:4385 msgid "_Do not ask me again" msgstr "_Nicht noch einmal fragen" -#: ../src/groupchat_control.py:1814 +#: ../src/groupchat_control.py:2055 msgid "Changing Subject" msgstr "Thema ändern" -#: ../src/groupchat_control.py:1815 +#: ../src/groupchat_control.py:2056 msgid "Please specify the new subject:" msgstr "Bitte wählen Sie ein neues Thema" -#: ../src/groupchat_control.py:1822 +#: ../src/groupchat_control.py:2063 msgid "Changing Nickname" msgstr "Spitzname ändern" -#: ../src/groupchat_control.py:1823 +#: ../src/groupchat_control.py:2064 msgid "Please specify the new nickname you want to use:" msgstr "Bitte geben Sie an, welchen Spitznamen Sie verwenden möchten:" #. Ask for a reason -#: ../src/groupchat_control.py:1854 +#: ../src/groupchat_control.py:2095 #, python-format msgid "Destroying %s" msgstr "Lösche %s" -#: ../src/groupchat_control.py:1855 +#: ../src/groupchat_control.py:2096 msgid "" "You are going to definitively destroy this room.\n" "You may specify a reason below:" @@ -9193,22 +9155,22 @@ msgstr "" "Der Chatraum wird endgültig gelöscht.\n" "Sie können hier einen Grund angeben:" -#: ../src/groupchat_control.py:1857 +#: ../src/groupchat_control.py:2098 msgid "You may also enter an alternate venue:" msgstr "Sie können auch einen alternativen Chatraum eintragen:" #. ask for reason -#: ../src/groupchat_control.py:2046 +#: ../src/groupchat_control.py:2293 #, python-format msgid "Kicking %s" msgstr "%s rauswerfen" -#: ../src/groupchat_control.py:2047 ../src/groupchat_control.py:2374 +#: ../src/groupchat_control.py:2294 ../src/groupchat_control.py:2631 msgid "You may specify a reason below:" msgstr "Sie können eine Begründung angeben:" #. ask for reason -#: ../src/groupchat_control.py:2373 +#: ../src/groupchat_control.py:2630 #, python-format msgid "Banning %s" msgstr "%s verbannen" @@ -9239,17 +9201,17 @@ msgstr "Details" msgid "Error: cannot open %s for reading" msgstr "Fehler: Kann %s kann nicht zum Lesen öffnen" -#: ../src/gtkgui_helpers.py:404 +#: ../src/gtkgui_helpers.py:348 msgid "Error reading file:" msgstr "Fehler beim Lesen der Datei:" -#: ../src/gtkgui_helpers.py:407 +#: ../src/gtkgui_helpers.py:351 msgid "Error parsing file:" msgstr "Fehler bei der Dateianalyse:" #. do not traceback (could be a permission problem) #. we talk about a file here -#: ../src/gtkgui_helpers.py:448 +#: ../src/gtkgui_helpers.py:392 #, python-format msgid "Could not write to %s. Session Management support will not work" msgstr "" @@ -9257,44 +9219,44 @@ msgstr "" "funktionieren" #. xmpp: is currently handled by another program, so ask the user -#: ../src/gtkgui_helpers.py:822 +#: ../src/gtkgui_helpers.py:766 msgid "Gajim is not the default Jabber client" msgstr "Gajim ist nicht Ihr Standard-Jabber-Client" -#: ../src/gtkgui_helpers.py:823 +#: ../src/gtkgui_helpers.py:767 msgid "Would you like to make Gajim the default Jabber client?" msgstr "Möchten Sie Gajim zu Ihrem Standard-Jabber-Client machen?" -#: ../src/gtkgui_helpers.py:824 +#: ../src/gtkgui_helpers.py:768 msgid "Always check to see if Gajim is the default Jabber client on startup" msgstr "" "Immer beim Programmstart prüfen, ob Gajim der Standard-Jabber-Client ist" -#: ../src/gtkgui_helpers.py:891 +#: ../src/gtkgui_helpers.py:835 msgid "Extension not supported" msgstr "Erweiterung wird nicht unterstützt." -#: ../src/gtkgui_helpers.py:892 +#: ../src/gtkgui_helpers.py:836 #, python-format msgid "Image cannot be saved in %(type)s format. Save as %(new_filename)s?" msgstr "" "Bild kann nicht im %(type)s-Format gespeichert werden. Als %(new_filename)s " "speichern?" -#: ../src/gtkgui_helpers.py:928 +#: ../src/gtkgui_helpers.py:872 msgid "Save Image as..." msgstr "Bild speichern unter …" #. we are banned #. group chat does not exist -#: ../src/gui_interface.py:137 ../src/gui_interface.py:323 -#: ../src/gui_interface.py:332 ../src/gui_interface.py:337 -#: ../src/gui_interface.py:340 ../src/gui_interface.py:343 -#: ../src/gui_interface.py:348 +#: ../src/gui_interface.py:126 ../src/gui_interface.py:283 +#: ../src/gui_interface.py:292 ../src/gui_interface.py:297 +#: ../src/gui_interface.py:300 ../src/gui_interface.py:303 +#: ../src/gui_interface.py:308 msgid "Unable to join group chat" msgstr "Fehler beim Betreten des Chatraums" -#: ../src/gui_interface.py:138 +#: ../src/gui_interface.py:127 #, python-format msgid "" "Your desired nickname in group chat %s is in use or registered by another " @@ -9305,93 +9267,93 @@ msgstr "" "von einem anderen Benutzer registriert.\n" "Bitte geben Sie einen anderen Benutzernamen an:" -#: ../src/gui_interface.py:141 +#: ../src/gui_interface.py:130 msgid "Always use this nickname when there is a conflict" msgstr "Benutze bei einem Konflikt immer diesen Spitznamen" -#: ../src/gui_interface.py:158 +#: ../src/gui_interface.py:147 msgid "Do you accept this request?" msgstr "Akzeptieren Sie diese Anfrage?" -#: ../src/gui_interface.py:160 +#: ../src/gui_interface.py:149 #, python-format msgid "Do you accept this request on account %s?" msgstr "Akzeptieren Sie diese Anfrage vom Konto %s?" -#: ../src/gui_interface.py:163 +#: ../src/gui_interface.py:152 #, python-format msgid "HTTP (%(method)s) Authorization for %(url)s (id: %(id)s)" msgstr "HTTP (%(method)s) Autorisierung für %(url)s (id: %(id)s)" -#: ../src/gui_interface.py:209 ../src/notify.py:493 +#: ../src/gui_interface.py:195 ../src/notify.py:439 msgid "Connection Failed" msgstr "Verbindung fehlgeschlagen" -#: ../src/gui_interface.py:312 +#: ../src/gui_interface.py:272 #, python-format msgid "A Password is required to join the room %s. Please type it." msgstr "Für das Betreten des Chatraumes %s wird ein Passwort benötigt." -#: ../src/gui_interface.py:324 +#: ../src/gui_interface.py:284 #, python-format msgid "Maximum number of users for %s has been reached" msgstr "Die maximale Anzahl an Benutzern für %s wurde erreicht" -#: ../src/gui_interface.py:333 +#: ../src/gui_interface.py:293 #, python-format msgid "You are banned from group chat %s." msgstr "Sie wurden aus dem Chatraum %s verbannt." -#: ../src/gui_interface.py:338 +#: ../src/gui_interface.py:298 #, python-format msgid "Group chat %s does not exist." msgstr "Der Chatraum %s existiert nicht." -#: ../src/gui_interface.py:341 +#: ../src/gui_interface.py:301 msgid "Group chat creation is restricted." msgstr "Die Chatraumerstellung ist eingeschränkt." -#: ../src/gui_interface.py:344 +#: ../src/gui_interface.py:304 #, python-format msgid "Your registered nickname must be used in group chat %s." msgstr "" "Sie müssen Ihren registrierten Spitznamen in diesem Chatraum %s verwenden." -#: ../src/gui_interface.py:349 +#: ../src/gui_interface.py:309 #, python-format msgid "You are not in the members list in groupchat %s." msgstr "Sie stehen nicht in der Mitgliedliste des Chatraums %s." -#: ../src/gui_interface.py:483 ../src/gui_interface.py:487 +#: ../src/gui_interface.py:440 ../src/gui_interface.py:444 #, python-format msgid "Error %(code)s: %(msg)s" msgstr "Fehler %(code)s: %(msg)s" #. ('MSGNOTSENT', account, (jid, ierror_msg, msg, time, session)) -#: ../src/gui_interface.py:498 ../src/gui_interface.py:513 +#: ../src/gui_interface.py:455 ../src/gui_interface.py:469 #, python-format msgid "error while sending %(message)s ( %(error)s )" msgstr "Fehler beim Senden von %(message)s ( %(error)s )" -#: ../src/gui_interface.py:540 ../src/notify.py:495 +#: ../src/gui_interface.py:496 ../src/notify.py:441 msgid "Subscription request" msgstr "Abonnementanfrage" -#: ../src/gui_interface.py:565 +#: ../src/gui_interface.py:521 msgid "Authorization accepted" msgstr "Autorisierung akzeptiert" -#: ../src/gui_interface.py:566 +#: ../src/gui_interface.py:522 #, python-format msgid "The contact \"%s\" has authorized you to see his or her status." msgstr "\"%s\" hat Sie autorisiert, seinen Status zu sehen." -#: ../src/gui_interface.py:579 +#: ../src/gui_interface.py:530 #, python-format msgid "Contact \"%s\" removed subscription from you" msgstr "Der Kontakt \"%s\" hat das Abonnement zurückgezogen" -#: ../src/gui_interface.py:580 +#: ../src/gui_interface.py:531 msgid "" "You will always see him or her as offline.\n" "Do you want to remove him or her from your contact list?" @@ -9399,57 +9361,17 @@ msgstr "" "Er wird Ihnen von nun an als offline angezeigt.\n" "Möchten Sie ihn von Ihrer Kontaktliste entfernen?" -#: ../src/gui_interface.py:604 ../src/notify.py:497 +#: ../src/gui_interface.py:552 ../src/notify.py:443 msgid "Unsubscribed" msgstr "Abbestellt" -#: ../src/gui_interface.py:631 +#: ../src/gui_interface.py:563 #, python-format msgid "Contact with \"%s\" cannot be established" msgstr "Die Verbindung mit \"%s\" konnte nicht hergestellt werden" -#: ../src/gui_interface.py:859 -#, python-format -msgid "%(jid)s has set the subject to %(subject)s" -msgstr "%(jid)s hat das Thema in %(subject)s geändert" - -#: ../src/gui_interface.py:926 -msgid "Room now shows unavailable member" -msgstr "Der Chatraum zeigt nun abwesende Teilnehmer an" - -#: ../src/gui_interface.py:928 -msgid "room now does not show unavailable members" -msgstr "Der Chatraum zeigt nun abwesende Teilnehmer nicht mehr an" - -#: ../src/gui_interface.py:930 -msgid "A non-privacy-related room configuration change has occurred" -msgstr "" -"Eine nicht Privatsphären-bezogene Chatraum-Konfigurations-Änderung ist " -"aufgetreten" - -#. Can be a presence (see chg_contact_status in groupchat_control.py) -#: ../src/gui_interface.py:934 -msgid "Room logging is now enabled" -msgstr "Die Chatraum-Aufzeichnung ist jetzt aktiviert" - -#: ../src/gui_interface.py:936 -msgid "Room logging is now disabled" -msgstr "Die Chatraum-Aufzeichnung ist jetzt deaktiviert" - -#: ../src/gui_interface.py:938 -msgid "Room is now non-anonymous" -msgstr "Der Chatraum ist jetzt nicht mehr anonym" - -#: ../src/gui_interface.py:941 -msgid "Room is now semi-anonymous" -msgstr "Der Chatraum ist jetzt semi-anonym" - -#: ../src/gui_interface.py:944 -msgid "Room is now fully-anonymous" -msgstr "Der Chatraum ist jetzt komplett anonym" - # TODO: GPG/PGP unification in original strings needed -#: ../src/gui_interface.py:985 +#: ../src/gui_interface.py:661 msgid "" "You configured Gajim to use GPG agent, but there is no GPG agent running or " "it returned a wrong passphrase.\n" @@ -9458,25 +9380,25 @@ msgstr "" "jedoch kein GPG-Agent oder er gab eine falsche Passphrase zurück.\n" # TODO: GPG/PGP unification in original strings needed -#: ../src/gui_interface.py:987 ../src/gui_interface.py:994 +#: ../src/gui_interface.py:663 ../src/gui_interface.py:671 msgid "You are currently connected without your OpenPGP key." msgstr "Sie wurden ohne Ihren GPG-Schlüssel verbunden" -#: ../src/gui_interface.py:989 +#: ../src/gui_interface.py:665 msgid "Your passphrase is incorrect" msgstr "Ihre Passphrase ist falsch" -#: ../src/gui_interface.py:993 +#: ../src/gui_interface.py:670 msgid "OpenGPG Passphrase Incorrect" msgstr "OpenGPG Passphrase ist falsch" # TODO: GPG/PGP unification in original strings needed -#: ../src/gui_interface.py:1019 +#: ../src/gui_interface.py:693 msgid "GPG key not trusted" msgstr "GPG-Schlüssel ist nicht vertrauenswürdig" # TODO: GPG/PGP unification in original strings needed -#: ../src/gui_interface.py:1019 +#: ../src/gui_interface.py:693 msgid "" "The GPG key used to encrypt this chat is not trusted. Do you really want to " "encrypt this message?" @@ -9484,29 +9406,27 @@ msgstr "" "Der GPG-Schlüssel zum Verschlüsseln dieses Chats ist nicht vertrauenswürdig. " "Möchten Sie diese Nachricht wirklich verschlüsseln?" -#: ../src/gui_interface.py:1031 -#, fuzzy +#: ../src/gui_interface.py:706 msgid "" "Gnome Keyring is installed but not correctly started " "(environment variable probably not correctly set)" msgstr "" -"Gnome Keyring ist installiert, wurde aber nicht \t\t\t\t\t\t\tkorrekt " -"gestartet (die Umgebungsvariablen sind möglicherweise nicht \t\t\t\t\t\t" -"\tkorrekt gesetzt gesetzt)" +"Gnome Keyring ist installiert, wurde aber nicht korrekt gestartet (die " +"Umgebungsvariablen sind möglicherweise nicht korrekt gesetzt gesetzt)" -#: ../src/gui_interface.py:1131 +#: ../src/gui_interface.py:813 #, python-format msgid "New mail on %(gmail_mail_address)s" msgstr "Neue E-Mail über %(gmail_mail_address)s empfangen" -#: ../src/gui_interface.py:1133 +#: ../src/gui_interface.py:815 #, python-format msgid "You have %d new mail conversation" msgid_plural "You have %d new mail conversations" msgstr[0] "Sie haben %d ungelesene E-Mail" msgstr[1] "Sie haben %d ungelesene E-Mails" -#: ../src/gui_interface.py:1146 +#: ../src/gui_interface.py:828 #, python-format msgid "" "\n" @@ -9521,81 +9441,59 @@ msgstr "" "Betreff: %(subject)s\n" "%(snippet)s" -#: ../src/gui_interface.py:1215 +#: ../src/gui_interface.py:893 #, python-format msgid "%s wants to send you a file." msgstr "%s möchte Ihnen eine Datei senden." -#: ../src/gui_interface.py:1252 ../src/roster_window.py:1877 +#: ../src/gui_interface.py:930 ../src/roster_window.py:1891 msgid "Remote contact stopped transfer" msgstr "Entfernter Kontakt unterbrach die Dateiübertragung" -#: ../src/gui_interface.py:1255 ../src/roster_window.py:1879 +#: ../src/gui_interface.py:933 ../src/roster_window.py:1893 msgid "Error opening file" msgstr "Fehler beim Öffnen der Datei:" -#: ../src/gui_interface.py:1287 +#: ../src/gui_interface.py:965 #, python-format msgid "You successfully received %(filename)s from %(name)s." msgstr "Die Übermittlung der Datei %(filename)s von %(name)s war erfolgreich." #. ft stopped -#: ../src/gui_interface.py:1291 +#: ../src/gui_interface.py:969 #, python-format msgid "File transfer of %(filename)s from %(name)s stopped." msgstr "" "Die Dateiübertragung der Datei %(filename)s von %(name)s wurde gestoppt." -#: ../src/gui_interface.py:1304 +#: ../src/gui_interface.py:982 #, python-format msgid "You successfully sent %(filename)s to %(name)s." msgstr "Sie haben die Datei %(filename)s erfolgreich an %(name)s gesendet." #. ft stopped -#: ../src/gui_interface.py:1308 +#: ../src/gui_interface.py:986 #, python-format msgid "File transfer of %(filename)s to %(name)s stopped." msgstr "Die Dateiübertragung von %(filename)s an %(name)s wurde gestoppt." -#: ../src/gui_interface.py:1426 -#, python-format -msgid "" -"Unable to decrypt message from %s\n" -"It may have been tampered with." -msgstr "" -"Die Nachricht von %s konnte nicht entschlüsselt werden.\n" -"Eventuell wurde sie verändert." - -#: ../src/gui_interface.py:1433 +#: ../src/gui_interface.py:1061 msgid "Unable to decrypt message" msgstr "Die Nachricht konnte nicht entschlüsselt werden" -#: ../src/gui_interface.py:1505 +#: ../src/gui_interface.py:1073 msgid "Username Conflict" msgstr "Benutzernamenkonflikt" -#: ../src/gui_interface.py:1506 +#: ../src/gui_interface.py:1074 msgid "Please type a new username for your local account" msgstr "Bitte geben Sie einen neuen Benutzernamen für Ihr lokales Konto ein" -#: ../src/gui_interface.py:1519 -msgid "Ping?" -msgstr "Ping?" - -#: ../src/gui_interface.py:1532 -#, python-format -msgid "Pong! (%s s.)" -msgstr "Pong! (%s s.)" - -#: ../src/gui_interface.py:1543 -msgid "Error." -msgstr "Fehler:" - -#: ../src/gui_interface.py:1556 +#: ../src/gui_interface.py:1089 msgid "Resource Conflict" msgstr "Ressourcenkonflikt" -#: ../src/gui_interface.py:1557 +#: ../src/gui_interface.py:1090 msgid "" "You are already connected to this account with the same resource. Please " "type a new one" @@ -9604,20 +9502,20 @@ msgstr "" "geben Sie eine neue Ressource ein" #. TODO: we should use another pixmap ;-) -#: ../src/gui_interface.py:1604 +#: ../src/gui_interface.py:1135 #, python-format msgid "%s wants to start a voice chat." msgstr "%s möchte einen Sprachchat beginnen." -#: ../src/gui_interface.py:1607 +#: ../src/gui_interface.py:1138 msgid "Voice Chat Request" msgstr "Anfrage für Sprachchat" -#: ../src/gui_interface.py:1716 +#: ../src/gui_interface.py:1225 msgid "Error verifying SSL certificate" msgstr "Fehler bei der Überprüfung des SSL-Zertifikats" -#: ../src/gui_interface.py:1717 +#: ../src/gui_interface.py:1226 #, python-format msgid "" "There was an error verifying the SSL certificate of your jabber server: " @@ -9628,17 +9526,17 @@ msgstr "" "Servers auf: %(error)s\n" "Möchten Sie sich dennoch zum Server verbinden?" -#: ../src/gui_interface.py:1725 +#: ../src/gui_interface.py:1235 msgid "Ignore this error for this certificate." msgstr "Ignoriere den Fehler für dieses Zertifikat." -#: ../src/gui_interface.py:1745 +#: ../src/gui_interface.py:1260 msgid "SSL certificate error" msgstr "SSL-Zertifikat-Fehler" # FIXME: Check English. Should be: # your connection has been hacked. -#: ../src/gui_interface.py:1746 +#: ../src/gui_interface.py:1261 #, python-format msgid "" "It seems the SSL certificate of account %(account)s has changed or your " @@ -9656,28 +9554,28 @@ msgstr "" "Möchten Sie sich dennoch verbinden und den Fingerabdruck des Zertifikats " "aktualisieren?" -#: ../src/gui_interface.py:1776 ../src/gui_interface.py:1813 -#: ../src/gui_interface.py:1849 +#: ../src/gui_interface.py:1297 ../src/gui_interface.py:1339 +#: ../src/gui_interface.py:1381 msgid "Insecure connection" msgstr "Unsichere Verbindung" -#: ../src/gui_interface.py:1777 -#, fuzzy +#: ../src/gui_interface.py:1298 +#, fuzzy, python-format msgid "" -"You are about to connect to the server with an insecure connection. This " -"means all your conversations will be exchanged unencrypted. Are you sure you " -"want to do that?" +"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. Are you sure you want to do that?" msgstr "" -"Sie sind dabei, Ihr Passwort über eine unsichere Verbindung zu senden. Sind " -"Sie sicher, dass Sie dies tun möchten? (Es ist ratsam, PyOpenSSL zu " -"installieren, um dieses Problem zu beheben.)" +"Sie sind dabei, eine ungesicherte Verbindung zu einem Server aufzubauen. Das " +"bedeutet, dass alle Unterhaltungen unverschlüsselt übertragen werden. Sind " +"Sie sicher, dass Sie das tun wollen?" -#: ../src/gui_interface.py:1780 ../src/gui_interface.py:1817 -#: ../src/gui_interface.py:1852 +#: ../src/gui_interface.py:1303 ../src/gui_interface.py:1343 +#: ../src/gui_interface.py:1384 msgid "Yes, I really want to connect insecurely" msgstr "Ja, ich möchte dies trotz Sicherheitsbedenken tun" -#: ../src/gui_interface.py:1814 +#: ../src/gui_interface.py:1340 msgid "" "You are about to send your password on an insecure connection. You should " "install PyOpenSSL to prevent that. Are you sure you want to do that?" @@ -9686,21 +9584,20 @@ msgstr "" "Sie sicher, dass Sie dies tun möchten? (Es ist ratsam, PyOpenSSL zu " "installieren, um dieses Problem zu beheben.)" -#: ../src/gui_interface.py:1850 -#, fuzzy +#: ../src/gui_interface.py:1382 msgid "" "You are about to send your password unencrypted on an insecure connection. " "Are you sure you want to do that?" msgstr "" -"Sie sind dabei, Ihr Passwort über eine nicht verschlüsselte Verbindung zu " -"senden. Sind Sie sicher, dass Sie dies tun möchten?" +"Sie sind dabei, Ihr Passwort unverschlüsselt über eine unsichere Verbindung " +"zu übertragen. Sind Sie sicher, dass Sie dies tun möchten?" #. theme doesn't exist, disable emoticons -#: ../src/gui_interface.py:2422 ../src/gui_interface.py:2445 +#: ../src/gui_interface.py:1889 ../src/gui_interface.py:1912 msgid "Emoticons disabled" msgstr "Emoticons deaktiviert" -#: ../src/gui_interface.py:2423 +#: ../src/gui_interface.py:1890 msgid "" "Your configured emoticons theme has not been found, so emoticons have been " "disabled." @@ -9708,7 +9605,7 @@ msgstr "" "Das konfigurierte Emoticon-Set wurde nicht gefunden. Emoticons sind " "deaktiviert." -#: ../src/gui_interface.py:2446 +#: ../src/gui_interface.py:1913 msgid "" "Your configured emoticons theme cannot been loaded. You maybe need to update " "the format of emoticons.py file. See http://trac.gajim.org/wiki/Emoticons " @@ -9718,22 +9615,22 @@ msgstr "" "eventuell das Format der Datei emoticons.py aktualisieren. Besuchen Sie " "http://trac.gajim.org/wiki/Emoticons (Englisch) für mehr Informationen." -#: ../src/gui_interface.py:2477 ../src/roster_window.py:3632 +#: ../src/gui_interface.py:1957 ../src/roster_window.py:3783 msgid "You cannot join a group chat while you are invisible" msgstr "Sie können einen Chatraum nicht betreten, wenn Sie unsichtbar sind." #. it is good to notify the user #. in case he or she cannot see the output of the console -#: ../src/gui_interface.py:2871 +#: ../src/gui_interface.py:2344 msgid "Could not save your settings and preferences" msgstr "Konnte Einstellungen nicht speichern" -#: ../src/gui_interface.py:3411 +#: ../src/gui_interface.py:2891 msgid "Passphrase Required" msgstr "Passphrase benötigt" # TODO: GPG/PGP unification in original strings needed -#: ../src/gui_interface.py:3412 +#: ../src/gui_interface.py:2892 #, python-format msgid "Enter GPG key passphrase for key %(keyid)s (account %(account)s)." msgstr "" @@ -9741,13 +9638,13 @@ msgstr "" "%(account)s)." # TODO: GPG/PGP unification in original strings needed -#: ../src/gui_interface.py:3426 +#: ../src/gui_interface.py:2906 msgid "GPG key expired" msgstr "GPG-Schlüssel abgelaufen" # TODO: GPG/PGP unification in original strings needed # FIXME: should be "has expired" -#: ../src/gui_interface.py:3427 +#: ../src/gui_interface.py:2907 #, python-format msgid "Your GPG key has expired, you will be connected to %s without OpenPGP." msgstr "" @@ -9755,12 +9652,12 @@ msgstr "" "mit %s verbunden." #. ask again -#: ../src/gui_interface.py:3436 +#: ../src/gui_interface.py:2916 msgid "Wrong Passphrase" msgstr "Falsche Passphrase" # TODO: GPG/PGP unification in original strings needed -#: ../src/gui_interface.py:3437 +#: ../src/gui_interface.py:2917 msgid "Please retype your GPG passphrase or press Cancel." msgstr "" "Bitte geben Sie Ihre GPG-Passphrase erneut ein oder klicken Sie auf " @@ -9770,42 +9667,42 @@ msgstr "" msgid "_New Group Chat" msgstr "Neuer Gruppenchat" -#: ../src/gui_menu_builder.py:410 +#: ../src/gui_menu_builder.py:419 msgid "I would like to add you to my roster" msgstr "Ich würde Sie gerne zu meiner Kontaktliste hinzufügen" -#: ../src/history_manager.py:114 +#: ../src/history_manager.py:116 msgid "Cannot find history logs database" msgstr "Kann Verlaufs-Datenkbank nicht finden" #. holds jid -#: ../src/history_manager.py:154 +#: ../src/history_manager.py:156 msgid "Contacts" msgstr "Kontakte" #. holds time -#: ../src/history_manager.py:167 ../src/history_manager.py:207 +#: ../src/history_manager.py:169 ../src/history_manager.py:213 #: ../src/history_window.py:98 msgid "Date" msgstr "Datum" #. holds nickname -#: ../src/history_manager.py:173 ../src/history_manager.py:225 +#: ../src/history_manager.py:176 ../src/history_manager.py:232 msgid "Nickname" msgstr "Spitzname" #. holds message -#: ../src/history_manager.py:181 ../src/history_manager.py:213 +#: ../src/history_manager.py:185 ../src/history_manager.py:220 #: ../src/history_window.py:106 msgid "Message" msgstr "Nachricht" #. holds subject -#: ../src/history_manager.py:188 ../src/history_manager.py:219 +#: ../src/history_manager.py:193 ../src/history_manager.py:226 msgid "Subject" msgstr "Thema" -#: ../src/history_manager.py:241 +#: ../src/history_manager.py:252 msgid "" "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM IS " "RUNNING)" @@ -9813,7 +9710,7 @@ msgstr "" "Möchten Sie die Datenbank aufräumen? (NICHT EMPFOHLEN, WENN GAJIM GERADE " "LÄUFT)" -#: ../src/history_manager.py:243 +#: ../src/history_manager.py:254 msgid "" "Normally allocated database size will not be freed, it will just become " "reusable. If you really want to reduce database filesize, click YES, else " @@ -9827,26 +9724,40 @@ msgstr "" "\n" "Falls Sie JA klicken, warten Sie danach bitte einen Augenblick …" -#: ../src/history_manager.py:460 +#: ../src/history_manager.py:259 +#, fuzzy +msgid "Database Cleanup" +msgstr "Datenbankfehler" + +#: ../src/history_manager.py:477 msgid "Exporting History Logs..." msgstr "Exportiere Verlauf …" -#: ../src/history_manager.py:535 +#: ../src/history_manager.py:554 #, python-format msgid "%(who)s on %(time)s said: %(message)s\n" msgstr "%(who)s sagte um %(time)s: %(message)s\n" -#: ../src/history_manager.py:572 -msgid "Do you really want to delete logs of the selected contact?" -msgid_plural "Do you really want to delete logs of the selected contacts?" -msgstr[0] "Möchten Sie wirklich alle Logs des ausgewählten Kontakts löschen?" -msgstr[1] "Möchten Sie wirklich alle Logs der ausgewählten Kontakte löschen?" +#: ../src/history_manager.py:592 +#, fuzzy, python-format +msgid "Do you really want to delete the logs of %(jid)s?" +msgstr "Möchten Sie die ausgewählte Nachricht wirklich löschen?" -#: ../src/history_manager.py:576 ../src/history_manager.py:611 +#: ../src/history_manager.py:596 +#, fuzzy +msgid "Do you really want to delete logs of the selected contacts?" +msgstr "Möchten Sie wirklich alle Logs des ausgewählten Kontakts löschen?" + +#: ../src/history_manager.py:598 ../src/history_manager.py:637 msgid "This is an irreversible operation." msgstr "Dies ist ein unwiderruflicher Vorgang." -#: ../src/history_manager.py:608 +#: ../src/history_manager.py:600 ../src/history_manager.py:639 +#, fuzzy +msgid "Deletion Confirmation" +msgstr "Bestätigung abbrechen" + +#: ../src/history_manager.py:634 msgid "Do you really want to delete the selected message?" msgid_plural "Do you really want to delete the selected messages?" msgstr[0] "Möchten Sie die ausgewählte Nachricht wirklich löschen?" @@ -9885,14 +9796,19 @@ msgstr "Der Status ist jetzt: %(status)s: %(status_msg)s" msgid "Status is now: %(status)s" msgstr "Der Status ist jetzt: %(status)s" -#: ../src/htmltextview.py:515 ../src/htmltextview.py:525 +#: ../src/htmltextview.py:518 ../src/htmltextview.py:528 msgid "Timeout loading image" msgstr "Konnte Bild nicht laden" -#: ../src/htmltextview.py:535 +#: ../src/htmltextview.py:538 msgid "Image is too big" msgstr "Das Bild ist zu groß" +#: ../src/htmltextview.py:571 +#, fuzzy +msgid "Loading" +msgstr "Programmieren" + #: ../src/message_window.py:222 msgid "You are going to close several tabs" msgstr "Sie sind dabei verschiedene Tabs zu schließen" @@ -9901,19 +9817,19 @@ msgstr "Sie sind dabei verschiedene Tabs zu schließen" msgid "Do you really want to close them all?" msgstr "Möchten Sie wirklich alle schließen?" -#: ../src/message_window.py:485 +#: ../src/message_window.py:497 msgid "Chats" msgstr "Chats" -#: ../src/message_window.py:487 +#: ../src/message_window.py:499 msgid "Group Chats" msgstr "Chatraum" -#: ../src/message_window.py:489 +#: ../src/message_window.py:501 msgid "Private Chats" msgstr "Private Chats" -#: ../src/message_window.py:495 +#: ../src/message_window.py:507 msgid "Messages" msgstr "Nachrichten" @@ -9925,102 +9841,121 @@ msgstr "- Nachrichten werden aufgezeichnet" msgid "- messages will not be logged" msgstr "- Nachrichten werden nicht aufgezeichnet" -#: ../src/notify.py:232 +#: ../src/notify.py:167 #, python-format msgid "%(nick)s Changed Status" msgstr "%(nick)s änderte seinen Status" -#: ../src/notify.py:242 +#: ../src/notify.py:177 #, python-format msgid "%(nickname)s Signed In" msgstr "%(nickname)s angemeldet" -#: ../src/notify.py:250 +#: ../src/notify.py:185 #, python-format msgid "%(nickname)s Signed Out" msgstr "%(nickname)s abgemeldet" -#: ../src/notify.py:261 -#, python-format -msgid "New Single Message from %(nickname)s" -msgstr "Einzelne neue Nachricht von %(nickname)s" - -#: ../src/notify.py:268 -#, python-format -msgid "New Private Message from group chat %s" -msgstr "Neue private Nachricht aus dem Chatraum %s" - -#: ../src/notify.py:270 -#, python-format -msgid "%(nickname)s: %(message)s" -msgstr "%(nickname)s: %(message)s" - -#: ../src/notify.py:273 -#, python-format -msgid "Messaged by %(nickname)s" -msgstr "Neue Nachricht von %(nickname)s" - -#: ../src/notify.py:279 -#, python-format -msgid "New Message from %(nickname)s" -msgstr "Neue Nachricht von %(nickname)s" - -#: ../src/notify.py:536 +#: ../src/notify.py:482 msgid "Ignore" msgstr "Ignorieren" -#: ../src/profile_window.py:58 +#: ../src/plugins/gui.py:67 +msgid "Plugin" +msgstr "" + +#: ../src/plugins/gui.py:160 +#, fuzzy +msgid "Plugin failed" +msgstr "Registrierung ist fehlgeschlagen" + +#: ../src/plugins/gui.py:204 +msgid "Unable to properly remove the plugin" +msgstr "" + +#. members not safe +#: ../src/plugins/gui.py:212 ../src/plugins/pluginmanager.py:495 +#: ../src/plugins/pluginmanager.py:503 +#, fuzzy +msgid "Archive is malformed" +msgstr "Der Dienst sendete unzureichende Daten." + +#: ../src/plugins/gui.py:235 ../src/plugins/gui.py:243 +#: ../src/plugins/pluginmanager.py:511 +#, fuzzy +msgid "Plugin already exists" +msgstr "Diese Datei existiert bereits" + +#: ../src/plugins/gui.py:235 +msgid "Overwrite?" +msgstr "" + +#: ../src/plugins/gui.py:264 +#, fuzzy +msgid "Configuration" +msgstr "Chatraum-Einstellungen" + +#. it is not zip file +#. CRC error +#: ../src/plugins/pluginmanager.py:481 ../src/plugins/pluginmanager.py:487 +msgid "Archive corrupted" +msgstr "" + +#: ../src/plugins/pluginmanager.py:483 +#, fuzzy +msgid "Archive empty" +msgstr "Datei ist leer" + +#: ../src/profile_window.py:60 msgid "Retrieving profile..." msgstr "Empfange Profil …" -#: ../src/profile_window.py:111 ../src/roster_window.py:3001 +#: ../src/profile_window.py:125 ../src/roster_window.py:3136 msgid "File is empty" msgstr "Datei ist leer" -#: ../src/profile_window.py:114 ../src/roster_window.py:3004 +#: ../src/profile_window.py:128 ../src/roster_window.py:3139 msgid "File does not exist" msgstr "Datei existiert nicht" #. keep identation #. unknown format -#: ../src/profile_window.py:128 ../src/profile_window.py:144 -#: ../src/roster_window.py:3006 ../src/roster_window.py:3017 +#: ../src/profile_window.py:142 ../src/profile_window.py:158 +#: ../src/roster_window.py:3141 ../src/roster_window.py:3152 msgid "Could not load image" msgstr "Konnte Bild nicht laden" -#: ../src/profile_window.py:215 -#, fuzzy +#: ../src/profile_window.py:229 msgid "Wrong date format" -msgstr "Kontaktinformationen" +msgstr "Falsches Datumsformat" -#: ../src/profile_window.py:216 -#, fuzzy +#: ../src/profile_window.py:230 msgid "Format of the date must be YYYY-MM-DD" -msgstr "Format: JJJJ-MM-TT" +msgstr "Datumsformat muss JJJJ-MM-TT entsprechen" -#: ../src/profile_window.py:270 +#: ../src/profile_window.py:284 msgid "Information received" msgstr "Informationen empfangen" -#: ../src/profile_window.py:341 +#: ../src/profile_window.py:362 msgid "Without a connection you can not publish your contact information." msgstr "" "Sie müssen angemeldet sein, um Kontaktinformationen veröffentlichen zu " "können." -#: ../src/profile_window.py:354 +#: ../src/profile_window.py:375 msgid "Sending profile..." msgstr "Sende Profil …" -#: ../src/profile_window.py:369 +#: ../src/profile_window.py:394 msgid "Information NOT published" msgstr "Informationen NICHT veröffentlicht" -#: ../src/profile_window.py:376 +#: ../src/profile_window.py:401 msgid "vCard publication failed" msgstr "Veröffentlichung der vCard fehlgeschlagen" -#: ../src/profile_window.py:377 +#: ../src/profile_window.py:402 msgid "" "There was an error while publishing your personal information, try again " "later." @@ -10028,54 +9963,54 @@ msgstr "" "Bei der Veröffentlichung Ihrer persönlichen Informationen ist ein Fehler " "aufgetreten. Versuchen Sie es später erneut." -#: ../src/roster_window.py:262 ../src/roster_window.py:1026 +#: ../src/roster_window.py:240 ../src/roster_window.py:1028 msgid "Merged accounts" msgstr "Alle Konten" -#: ../src/roster_window.py:1942 +#: ../src/roster_window.py:1956 msgid "Authorization has been sent" msgstr "Autorisierung wurde erneut gesendet" -#: ../src/roster_window.py:1943 +#: ../src/roster_window.py:1957 #, python-format msgid "Now \"%s\" will know your status." msgstr "\"%s\" kennt jetzt Ihren Status." -#: ../src/roster_window.py:1966 +#: ../src/roster_window.py:1980 msgid "Subscription request has been sent" msgstr "Abonnement-Anforderung wurde gesendet" -#: ../src/roster_window.py:1967 +#: ../src/roster_window.py:1981 #, python-format msgid "If \"%s\" accepts this request you will know his or her status." msgstr "" "Wenn \"%s\" diese Anfrage akzeptiert, können Sie seinen/ihren Status sehen." -#: ../src/roster_window.py:1981 +#: ../src/roster_window.py:1995 msgid "Authorization has been removed" msgstr "Autorisierung wurde entfernt" -#: ../src/roster_window.py:1982 +#: ../src/roster_window.py:1996 #, python-format msgid "Now \"%s\" will always see you as offline." msgstr "\"%s\" wird Sie nun immer als offline sehen." # TODO: GPG/PGP unification in original strings needed -#: ../src/roster_window.py:2009 +#: ../src/roster_window.py:2023 msgid "GPG is not usable" msgstr "GPG ist nicht benutzbar" # TODO: GPG/PGP unification in original strings needed -#: ../src/roster_window.py:2010 +#: ../src/roster_window.py:2024 #, python-format msgid "You will be connected to %s without OpenPGP." msgstr "Sie werden ohne OpenPGP-Verschlüsselung mit %s verbunden." -#: ../src/roster_window.py:2222 ../src/roster_window.py:3562 +#: ../src/roster_window.py:2236 ../src/roster_window.py:3713 msgid "You are participating in one or more group chats" msgstr "Sie nehmen an einem oder mehreren Gruppenchats teil" -#: ../src/roster_window.py:2223 ../src/roster_window.py:3563 +#: ../src/roster_window.py:2237 ../src/roster_window.py:3714 msgid "" "Changing your status to invisible will result in disconnection from those " "group chats. Are you sure you want to go invisible?" @@ -10083,38 +10018,40 @@ msgstr "" "Wenn Sie Ihren Status auf unsichtbar setzen, werden Sie von diesen " "Chaträumen getrennt. Sind Sie sicher, dass Sie unsichtbar werden möchten?" -#: ../src/roster_window.py:2249 +#: ../src/roster_window.py:2263 msgid "desync'ed" msgstr "Nicht synchronisiert" -#: ../src/roster_window.py:2311 +#: ../src/roster_window.py:2329 msgid "Really quit Gajim?" msgstr "Gajim wirklich beenden?" -#: ../src/roster_window.py:2312 +#: ../src/roster_window.py:2330 msgid "Are you sure you want to quit Gajim?" msgstr "Möchten Sie Gajim wirklich verlassen?" -#: ../src/roster_window.py:2313 +#: ../src/roster_window.py:2331 msgid "Always close Gajim" msgstr "Gajim immer schließen" -#: ../src/roster_window.py:2396 -#, fuzzy +#: ../src/roster_window.py:2415 msgid "You have running file transfers" -msgstr "Dateiübertragung abbrechen" +msgstr "Sie haben laufende Dateiübertragungen" -#: ../src/roster_window.py:2397 +#: ../src/roster_window.py:2416 +#, fuzzy msgid "" "If you quit now, the file(s) being transferred will be stopped. Do you still " "want to quit?" msgstr "" +"Wenn Sie jetzt beenden, werden die laufenden Dateiübertragungen abgebrochen. " +"Möchten Sie noch beenden?" -#: ../src/roster_window.py:2428 ../src/roster_window.py:2719 +#: ../src/roster_window.py:2447 ../src/roster_window.py:2855 msgid "You have unread messages" msgstr "Sie haben ungelesene Nachrichten" -#: ../src/roster_window.py:2429 +#: ../src/roster_window.py:2448 msgid "" "Messages will only be available for reading them later if you have history " "enabled and contact is in your roster." @@ -10122,16 +10059,16 @@ msgstr "" "Nachrichten sind nur für das spätere Lesen verfügbar, wenn der Verlauf " "aktiviert wurde und der Kontakt sich in der Kontaktliste befindet." -#: ../src/roster_window.py:2720 +#: ../src/roster_window.py:2856 msgid "You must read them before removing this transport." msgstr "Sie müssen sie lesen, bevor das Konto entfernt wird." -#: ../src/roster_window.py:2723 +#: ../src/roster_window.py:2859 #, python-format msgid "Transport \"%s\" will be removed" msgstr "Der Transport \"%s\" wird entfernt" -#: ../src/roster_window.py:2724 +#: ../src/roster_window.py:2860 msgid "" "You will no longer be able to send and receive messages from contacts using " "this transport." @@ -10139,11 +10076,11 @@ msgstr "" "Sie können nun keine Nachrichten mehr mit Kontakten über diesen Transport " "austauschen." -#: ../src/roster_window.py:2727 +#: ../src/roster_window.py:2863 msgid "Transports will be removed" msgstr "Transporte werden entfernt" -#: ../src/roster_window.py:2732 +#: ../src/roster_window.py:2868 #, python-format msgid "" "You will no longer be able to send and receive messages to contacts from " @@ -10152,12 +10089,12 @@ msgstr "" "Sie können nun keine Nachrichten mehr mit Kontakten über diese Transporte " "austauschen: %s" -#: ../src/roster_window.py:2800 +#: ../src/roster_window.py:2936 msgid "You are about to block a contact. Are you sure you want to continue?" msgstr "" "Sie sind dabei, einen Kontakt zu blockieren. Wollen Sie wirklich fortfahren?" -#: ../src/roster_window.py:2802 +#: ../src/roster_window.py:2938 msgid "" "This contact will see you offline and you will not receive messages he will " "send you." @@ -10166,57 +10103,57 @@ msgstr "" "Nachrichten empfangen, die er Ihnen sendet." #. it's jid -#: ../src/roster_window.py:2893 +#: ../src/roster_window.py:3028 msgid "Rename Contact" msgstr "Kontakt umbenennen" -#: ../src/roster_window.py:2894 +#: ../src/roster_window.py:3029 #, python-format msgid "Enter a new nickname for contact %s" msgstr "Geben Sie einen Spitznamen für den Kontakt %s ein" -#: ../src/roster_window.py:2901 +#: ../src/roster_window.py:3036 msgid "Rename Group" msgstr "Gruppe umbenennen" -#: ../src/roster_window.py:2902 +#: ../src/roster_window.py:3037 #, python-format msgid "Enter a new name for group %s" msgstr "Geben Sie einen neuen Namen für die Gruppe %s ein" -#: ../src/roster_window.py:2947 +#: ../src/roster_window.py:3082 msgid "Remove Group" msgstr "Gruppe entfernen" -#: ../src/roster_window.py:2948 +#: ../src/roster_window.py:3083 #, python-format msgid "Do you want to remove group %s from the roster?" msgstr "Möchten Sie wirklich die Gruppe %s von Ihrer Kontaktliste entfernen?" -#: ../src/roster_window.py:2949 +#: ../src/roster_window.py:3084 msgid "Also remove all contacts in this group from your roster" msgstr "Auch alle Kontakte dieser Gruppe von Ihrer Kontaktliste entfernen" -#: ../src/roster_window.py:2988 +#: ../src/roster_window.py:3123 msgid "Assign OpenPGP Key" msgstr "OpenPGP-Schlüssel zuweisen" -#: ../src/roster_window.py:2989 +#: ../src/roster_window.py:3124 msgid "Select a key to apply to the contact" msgstr "Weisen Sie dem Kontakt einen Schüssel zu" -#: ../src/roster_window.py:3372 +#: ../src/roster_window.py:3523 #, python-format msgid "Contact \"%s\" will be removed from your roster" msgstr "Kontakt \"%s\" wird von Ihrer Kontaktliste entfernt" -#: ../src/roster_window.py:3374 +#: ../src/roster_window.py:3525 #, python-format msgid "You are about to remove \"%(name)s\" (%(jid)s) from your roster.\n" msgstr "" "Sie sind dabei, \"%(name)s\" (%(jid)s) aus der Kontaktliste zu entfernen.\n" -#: ../src/roster_window.py:3379 +#: ../src/roster_window.py:3530 msgid "" "By removing this contact you also remove authorization resulting in him or " "her always seeing you as offline." @@ -10226,11 +10163,11 @@ msgstr "" "offline sehen wird." #. Contact is not in roster -#: ../src/roster_window.py:3385 +#: ../src/roster_window.py:3536 msgid "Do you want to continue?" msgstr "Möchten Sie fortsetzen?" -#: ../src/roster_window.py:3389 +#: ../src/roster_window.py:3540 msgid "" "By removing this contact you also by default remove authorization resulting " "in him or her always seeing you as offline." @@ -10239,17 +10176,17 @@ msgstr "" "Berechtigung, Ihren Status zu sehen, wodurch der Kontakt Sie nur noch als " "offline sehen wird." -#: ../src/roster_window.py:3392 +#: ../src/roster_window.py:3543 msgid "I want this contact to know my status after removal" msgstr "" "Ich möchte, dass dieser Kontakt meinen Status auch nach dem Entfernen sieht" #. several contact to remove at the same time -#: ../src/roster_window.py:3396 +#: ../src/roster_window.py:3547 msgid "Contacts will be removed from your roster" msgstr "Kontakte werden von Ihrer Kontaktliste entfernt" -#: ../src/roster_window.py:3401 +#: ../src/roster_window.py:3552 #, python-format msgid "" "By removing these contacts:%s\n" @@ -10259,39 +10196,38 @@ msgstr "" "entziehen Sie ihnen auch die Berechtigung, Ihren Status zu sehen, wodurch " "die Kontakte Sie nur noch als offline sehen werden." -#: ../src/roster_window.py:3459 -#, fuzzy +#: ../src/roster_window.py:3610 msgid "" "You are about to send a custom status. Are you sure you want to continue?" msgstr "" -"Sie sind dabei, einen speziellen Status zu senden. Wollen Sie wirklich " +"Sie sind dabei, einen angepassten Status zu senden. Wollen Sie wirklich " "fortfahren?" -#: ../src/roster_window.py:3461 -#, fuzzy, python-format +#: ../src/roster_window.py:3612 +#, python-format msgid "" "This contact will temporarily see you as %(status)s, but only until you " "change your status. Then he or she will see your global status." msgstr "" -"Der Kontakt wird Sie vorläufig als %(status)s sehen, aber nur bis Sie Ihren " -"Status ändern. Dann wird er Ihren globalen Status sehen." +"Dieser Kontakt wird Sie vorläufig als %(status)s sehen, aber nur bis Sie " +"Ihren Status ändern. Dann wird er Ihren globalen Status sehen." -#: ../src/roster_window.py:3480 +#: ../src/roster_window.py:3631 msgid "No account available" msgstr "Kein Konto vorhanden" -#: ../src/roster_window.py:3481 +#: ../src/roster_window.py:3632 msgid "You must create an account before you can chat with other contacts." msgstr "" "Sie müssen ein Konto erstellen, bevor Sie sich zum Jabber-Netzwerk verbinden " "können." -#: ../src/roster_window.py:4095 +#: ../src/roster_window.py:4285 msgid "Metacontacts storage not supported by your server" msgstr "" "Das Speichern von Metakontakten wird von Ihrem Server nicht unterstützt" -#: ../src/roster_window.py:4097 +#: ../src/roster_window.py:4287 msgid "" "Your server does not support storing metacontacts information. So those " "information will not be saved on next reconnection." @@ -10300,14 +10236,14 @@ msgstr "" "Daher werden diese Informationen bei der nächsten Neuverbindung nicht " "gespeichert." -#: ../src/roster_window.py:4189 +#: ../src/roster_window.py:4379 msgid "" "You are about to create a metacontact. Are you sure you want to continue?" msgstr "" "Sie sind dabei, einen Metakontakt zu erstellen. Wollen Sie wirklich " "fortfahren?" -#: ../src/roster_window.py:4191 +#: ../src/roster_window.py:4381 msgid "" "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 " @@ -10317,23 +10253,28 @@ msgstr "" "gruppieren. Sie werden normalerweise verwendet, wenn eine Person mehrere " "Jabber- oder Transport-Konten hat." -#: ../src/roster_window.py:4306 +#: ../src/roster_window.py:4502 msgid "Invalid file URI:" msgstr "Ungültiger Datei-URI:" -#: ../src/roster_window.py:4318 +#: ../src/roster_window.py:4514 #, python-format msgid "Do you want to send this file to %s:" msgid_plural "Do you want to send these files to %s:" msgstr[0] "Wollen Sie die Datei an %s senden?" msgstr[1] "Wollen Sie die Dateien an %s senden?" -#: ../src/roster_window.py:4433 +#: ../src/roster_window.py:4649 #, python-format msgid "Send %s to %s" msgstr "Sende %s an %s" -#: ../src/roster_window.py:4439 +#: ../src/roster_window.py:4660 +#, fuzzy, python-format +msgid "Make %s first contact" +msgstr "%s und %s zu Metakontakt zusammenführen" + +#: ../src/roster_window.py:4663 #, python-format msgid "Make %s and %s metacontacts" msgstr "%s und %s zu Metakontakt zusammenführen" @@ -10343,130 +10284,129 @@ msgstr "%s und %s zu Metakontakt zusammenführen" #. for chat_with #. for single message #. join gc -#: ../src/roster_window.py:4888 ../src/roster_window.py:4961 -#: ../src/roster_window.py:4970 ../src/statusicon.py:263 -#: ../src/statusicon.py:310 ../src/statusicon.py:316 +#: ../src/roster_window.py:5103 ../src/roster_window.py:5157 +#: ../src/roster_window.py:5166 ../src/statusicon.py:264 +#: ../src/statusicon.py:311 ../src/statusicon.py:317 #, python-format msgid "using account %s" msgstr "über das Konto %s" #. add -#: ../src/roster_window.py:4977 +#: ../src/roster_window.py:5173 #, python-format msgid "to %s account" msgstr "an das Konto %s" #. disco -#: ../src/roster_window.py:4982 +#: ../src/roster_window.py:5178 #, python-format msgid "using %s account" msgstr "über das Konto %s" -#: ../src/roster_window.py:5020 ../src/statusicon.py:326 +#: ../src/roster_window.py:5217 ../src/statusicon.py:327 msgid "_Manage Bookmarks..." msgstr "_Gespeicherte Chaträume …" #. profile, avatar -#: ../src/roster_window.py:5040 +#: ../src/roster_window.py:5237 #, python-format msgid "of account %s" msgstr "des Kontos %s" -#: ../src/roster_window.py:5081 +#: ../src/roster_window.py:5278 #, python-format msgid "for account %s" msgstr "für das Konto %s" -#: ../src/roster_window.py:5141 ../src/roster_window.py:5246 +#: ../src/roster_window.py:5338 ../src/roster_window.py:5443 msgid "_Change Status Message" msgstr "Ändere _Statusnachricht" -#: ../src/roster_window.py:5174 +#: ../src/roster_window.py:5371 msgid "Publish Tune" msgstr "Musiktitel veröffentlichen" -#: ../src/roster_window.py:5176 -#, fuzzy +#: ../src/roster_window.py:5373 msgid "Publish Location" -msgstr "Musiktitel veröffentlichen" +msgstr "Position veröffentlichen" -#: ../src/roster_window.py:5179 +#: ../src/roster_window.py:5376 msgid "Configure Services..." msgstr "Dienste konfigurieren …" -#: ../src/roster_window.py:5324 +#: ../src/roster_window.py:5521 msgid "_Maximize All" msgstr "Alle _maximieren" -#: ../src/roster_window.py:5334 ../src/roster_window.py:5508 +#: ../src/roster_window.py:5531 ../src/roster_window.py:5704 msgid "Send Group M_essage" msgstr "Nachricht an die Gruppe _senden" -#: ../src/roster_window.py:5342 +#: ../src/roster_window.py:5539 msgid "To all users" msgstr "An alle Benutzer" -#: ../src/roster_window.py:5346 +#: ../src/roster_window.py:5543 msgid "To all online users" msgstr "An alle angemeldeten Benutzer" #. Manage Transport submenu -#: ../src/roster_window.py:5528 +#: ../src/roster_window.py:5724 msgid "_Manage Contacts" msgstr "Kontakte verwalten" #. Edit Groups -#: ../src/roster_window.py:5537 +#: ../src/roster_window.py:5733 msgid "Edit _Groups" msgstr "_Gruppen bearbeiten" #. Send single message -#: ../src/roster_window.py:5592 +#: ../src/roster_window.py:5788 msgid "Send Single Message" msgstr "Sende _einzelne Nachricht" #. Execute Command -#: ../src/roster_window.py:5639 +#: ../src/roster_window.py:5835 msgid "Execute Command..." msgstr "Befehl ausführen …" #. Manage Transport submenu -#: ../src/roster_window.py:5649 +#: ../src/roster_window.py:5845 msgid "_Manage Transport" msgstr "_Transport verwalten" #. Modify Transport -#: ../src/roster_window.py:5658 +#: ../src/roster_window.py:5854 msgid "_Modify Transport" msgstr "_Ändern" #. Rename -#: ../src/roster_window.py:5668 +#: ../src/roster_window.py:5864 msgid "_Rename" msgstr "_Umbenennen" -#: ../src/roster_window.py:5728 +#: ../src/roster_window.py:5924 msgid "_Maximize" msgstr "_Maximieren" -#: ../src/roster_window.py:5737 +#: ../src/roster_window.py:5933 msgid "_Reconnect" msgstr "Wieder ve_rbinden" -#: ../src/roster_window.py:5744 +#: ../src/roster_window.py:5940 msgid "_Disconnect" msgstr "_Verbindung trennen" #. History manager -#: ../src/roster_window.py:5833 +#: ../src/roster_window.py:6029 msgid "History Manager" msgstr "_Verlaufsmanager" -#: ../src/roster_window.py:5844 +#: ../src/roster_window.py:6040 msgid "_Join New Group Chat" msgstr "_Chatraum betreten …" -#: ../src/roster_window.py:6019 +#: ../src/roster_window.py:6259 msgid "Change Status Message..." msgstr "Ändere Statusnachricht …" @@ -10483,20 +10423,15 @@ msgstr "Fehler im empfangenen Datenformular" msgid "No result" msgstr "Kein Ergebnis" -#: ../src/session.py:136 +#: ../src/session.py:95 msgid "Disk WriteError" msgstr "Fehler beim Schreiben auf Festplatte" -#: ../src/session.py:258 -#, python-format -msgid "Subject: %s" -msgstr "Thema: %s" - -#: ../src/session.py:447 ../src/session.py:491 +#: ../src/session.py:431 ../src/session.py:475 msgid "Confirm these session options" msgstr "Bestätigen Sie diese Sitzungsoptionen" -#: ../src/session.py:448 +#: ../src/session.py:432 #, fuzzy, python-format msgid "" "The remote client wants '\n" @@ -10508,11 +10443,11 @@ msgid "" msgstr "" "Der entfernte Client will eine Sitzung mit diesen Features aushandeln:\n" "\n" -"\t\t%s\n" +"%s\n" "\n" -"\t\tSind diese Einstellungen akzeptabel?" +"Sind diese Optionen akzeptabel?" -#: ../src/session.py:492 +#: ../src/session.py:476 #, python-format msgid "" "The remote client selected these options:\n" @@ -10527,16 +10462,15 @@ msgstr "" "\n" "Mit der Sitzung fortfahren?" -#: ../src/statusicon.py:227 +#: ../src/statusicon.py:228 msgid "_Change Status Message..." msgstr "Ändere _Statusnachricht …" -#: ../src/statusicon.py:339 -#, fuzzy +#: ../src/statusicon.py:342 msgid "Hide _Roster" -msgstr "in der _Kontaktliste" +msgstr "_Kontaktliste verstecken" -#: ../src/statusicon.py:350 +#: ../src/statusicon.py:353 msgid "Hide this menu" msgstr "Dieses Menü ausblenden" @@ -10593,34 +10527,34 @@ msgid "OpenPGP: " msgstr "OpenPGP: " #: ../src/tooltips.py:646 -#, fuzzy, python-format +#, python-format msgid "Idle since %s" -msgstr " seit %s" +msgstr "Untätig seit %s" #: ../src/tooltips.py:647 -#, fuzzy, python-format +#, python-format msgid "Idle for %s" -msgstr "XML-Konsole für %s" +msgstr "Untätig seit %s" #: ../src/tooltips.py:698 -#, fuzzy, python-format +#, python-format msgid "Mood: %s" -msgstr "Stimmung:" +msgstr "Stimmung: %s" #: ../src/tooltips.py:702 -#, fuzzy, python-format +#, python-format msgid "Activity: %s" -msgstr "Aktivität:" +msgstr "Aktivität: %s" #: ../src/tooltips.py:706 -#, fuzzy, python-format +#, python-format msgid "Tune: %s" -msgstr "Musiktitel:" +msgstr "Musiktitel: %s" #: ../src/tooltips.py:710 -#, fuzzy, python-format +#, python-format msgid "Location: %s" -msgstr "Benachrichtigungen" +msgstr "Position: %s" #: ../src/tooltips.py:735 msgid "Download" @@ -10675,32 +10609,32 @@ msgstr "" "Dieser Dienst konnte nicht mit detaillierten Informationen antworten\n" "Er ist wahrscheinlich veraltet oder defekt" -#: ../src/vcard.py:265 +#: ../src/vcard.py:285 msgid "?Client:Unknown" msgstr "Unbekannt" -#: ../src/vcard.py:267 +#: ../src/vcard.py:287 msgid "?OS:Unknown" msgstr "?OS:Unbekannt" -#: ../src/vcard.py:288 +#: ../src/vcard.py:310 msgid "?Time:Unknown" msgstr "?Time:Unbekannt" -#: ../src/vcard.py:312 ../src/vcard.py:322 ../src/vcard.py:530 +#: ../src/vcard.py:334 ../src/vcard.py:344 ../src/vcard.py:552 #, python-format msgid "since %s" msgstr "seit %s" -#: ../src/vcard.py:345 +#: ../src/vcard.py:367 msgid "?Role in Group Chat:Role:" -msgstr "" +msgstr "?Rolle im Gruppenchat:Rolle:" -#: ../src/vcard.py:349 +#: ../src/vcard.py:371 msgid "Affiliation:" msgstr "Mitgliedschaft:" -#: ../src/vcard.py:357 +#: ../src/vcard.py:379 msgid "" "This contact is interested in your presence information, but you are not " "interested in his/her presence" @@ -10708,7 +10642,7 @@ msgstr "" "Dieser Kontakt ist an Ihrem Status interessiert, aber Sie sind nicht an " "seinem interessiert" -#: ../src/vcard.py:359 +#: ../src/vcard.py:381 msgid "" "You are interested in the contact's presence information, but he/she is not " "interested in yours" @@ -10716,12 +10650,12 @@ msgstr "" "Sie sind am Status des Kontakts interessiert, aber er ist nicht an Ihrem " "interessiert" -#: ../src/vcard.py:361 +#: ../src/vcard.py:383 msgid "You and the contact are interested in each other's presence information" msgstr "Sie und der Kontakt sind am Status des Anderen interessiert" #. None -#: ../src/vcard.py:363 +#: ../src/vcard.py:385 msgid "" "You are not interested in the contact's presence, and neither he/she is " "interested in yours" @@ -10729,73 +10663,199 @@ msgstr "" "Sie sind nicht am Status des Kontakts interessiert, und er ist nicht Ihrem " "interessiert" -#: ../src/vcard.py:370 +#: ../src/vcard.py:392 msgid "You are waiting contact's answer about your subscription request" msgstr "" "Sie warten auf die Antwort des Kontaktes bezüglich Ihrer Abonnement-Anfrage" -#: ../src/vcard.py:372 +#: ../src/vcard.py:394 msgid "There is no pending subscription request." msgstr "Es gibt keine offenen Abonnementanfragen." -#: ../src/vcard.py:377 ../src/vcard.py:431 ../src/vcard.py:553 +#: ../src/vcard.py:399 ../src/vcard.py:453 ../src/vcard.py:575 msgid " resource with priority " msgstr " Resource mit Priorität " #~ msgid "@" #~ msgstr "@" +#~ msgid " a window/tab opened with that contact " +#~ msgstr " ein Fenster/Tab mit diesem Kontakt geöffnet " + +#~ msgid "Actions" +#~ msgstr "Aktionen" + +#~ msgid "Conditions" +#~ msgstr "Ereignisse" + +#~ msgid "Advanced Actions" +#~ msgstr "Erweiterte Aktionen" + +#~ msgid "Advanced Notifications Control" +#~ msgstr "Erweiterter Benachrichtigungseditor" + +#~ msgid "All statuses" +#~ msgstr "Alle Status" + +#~ msgid "Busy " +#~ msgstr "Beschäftigt " + +#~ msgid "Contact Change Status " +#~ msgstr "Kontakt ändert Status" + +#~ msgid "Contact Disconnected " +#~ msgstr "Kontakt nicht verbunden" + +#~ msgid "Don't have " +#~ msgstr "habe nicht " + +#~ msgid "File Transfer Finished" +#~ msgstr "Dateiübertragung abgeschlossen" + +#~ msgid "File Transfer Request " +#~ msgstr "Anfrage zur Dateiübertragung" + +#~ msgid "File Transfer Started " +#~ msgstr "Dateiübertragung gestartet " + +#~ msgid "Group Chat Message Highlight " +#~ msgstr "Hervorhebung von Chatraum-Nachrichten" + +#~ msgid "Group Chat Message Received " +#~ msgstr "Chatraum-Nachricht empfangen" + +#~ msgid "Have " +#~ msgstr "habe " + +#~ msgid "Launch a command" +#~ msgstr "Einen Befehl ausführen" + +#~ msgid "One or more special statuses..." +#~ msgstr "Einen oder mehrere spezielle Status …" + +#~ msgid "Online / Free For Chat" +#~ msgstr "Online / Frei zum Chatten" + +#~ msgid "Play a sound" +#~ msgstr "Einen Klang abspielen" + +#~ msgid "Receive a Message" +#~ msgstr "Eine Nachricht empfangen" + +#~ msgid "When " +#~ msgstr "Wenn " + +#~ msgid "" +#~ "_Activate window manager's UrgencyHint to make chat window in taskbar " +#~ "flash" +#~ msgstr "" +#~ "_Aktivere den UrgencyHint des Fenstermanagers, um das Chatfenster in der " +#~ "Taskleiste blinken zu lassen" + +#~ msgid "_Disable auto opening chat window" +#~ msgstr "_Deaktiviere sich von selbst öffnende Chatfenster" + +#~ msgid "_Disable existing popup window" +#~ msgstr "_Deaktivere existierendes Popup-Fenster" + +#~ msgid "_Disable existing sound for this event" +#~ msgstr "_Deaktivere existierenden Sound für dieses Ereignis" + +#~ msgid "_Disable showing event in roster" +#~ msgstr "_Deaktiviere die Ereignisanzeige in der Kontaktliste" + #~ msgid "_Disable showing event in systray" #~ msgstr "_Deaktiviere die Ereignisanzeige im Systray" +#~ msgid "_Inform me with a popup window" +#~ msgstr "_Informiere mich mit einem Popup-Fenster" + +#~ msgid "_Open chat window with user" +#~ msgstr "Ein _Chatfenster mit Benutzer öffnen" + +#~ msgid "_Show event in roster" +#~ msgstr "Zeige Ereignis in der Kontaktli_ste" + #~ msgid "_Show event in systray" #~ msgstr "Zeige Ereignisse im _Systray" -#, fuzzy +#~ msgid "and I " +#~ msgstr "und ich " + +#~ msgid "contact(s)" +#~ msgstr "Kontakt(e)" + +#~ msgid "for " +#~ msgstr "für " + +#~ msgid "group(s)" +#~ msgstr "Gruppe(n)" + +#~ msgid "when I'm in" +#~ msgstr "wenn ich bin" + +#~ msgid "Advanced..." +#~ msgstr "Erweitert …" + #~ msgid "Always use GNOME default applications" -#~ msgstr "Immer OS/X-Standardprogramme verwenden" +#~ msgstr "Immer GNOME Standardanwendungen verwenden" -#, fuzzy #~ msgid "Always use Xfce default applications" -#~ msgstr "Immer OS/X-Standardprogramme verwenden" +#~ msgstr "Immer Xfce Standardanwendungen verwenden" -#, fuzzy #~ msgid "Autodetect on every Gajim startup" -#~ msgstr "Beim Pr_ogrammstart verbinden" +#~ msgstr "Automatische Erkennung bei jedem Gajim-Programmstart" # FIXME: Check English. This should be called something like "Show systray icon" # because the systray itself is always visible. #~ msgid "Show systray:" #~ msgstr "Symbol in der Systemleiste anzeigen:" +#~ msgid "_Send Single Message..." +#~ msgstr "Einzelne _Nachricht senden …" + +#~ msgid "User avatar:" +#~ msgstr "Avatar auswählen" + +# TODO: Review by german translators: getrennte Status || getrennter Status +#~ msgid "all or space separated status" +#~ msgstr "alle oder durch Leerzeichen getrennte Status" + +#~ msgid "'yes', 'no', or 'both'" +#~ msgstr "'ja', 'nein' oder 'beide'" + +#~ msgid "'yes', 'no' or ''" +#~ msgstr "'ja, 'nein' oder ''" + #~ msgid "Nickname not allowed: %s" #~ msgstr "Spitzname nicht erlaubt: %s" -#~ msgid "Room has been destroyed" -#~ msgstr "Der Chatraum wurde gelöscht" - -#~ msgid "You can join this room instead: %s" -#~ msgstr "Sie können stattdessen diesen Chatraum betreten: %s" - -#~ msgid "I would like to add you to my roster." -#~ msgstr "Ich würde Sie gerne als Kontakt zu meiner Kontaktliste hinzufügen." - #~ msgid "we are now subscribed to %s" #~ msgstr "Sie haben jetzt %s abonniert" -#~ msgid "unsubscribe request from %s" -#~ msgstr "Anfrage zur Beendigung des Abonnements von %s" - #~ msgid "we are now unsubscribed from %s" #~ msgstr "%s hat das Abonnement beendet" -#~ msgid "" -#~ "JID %s is not RFC compliant. It will not be added to your roster. Use " -#~ "roster management tools such as http://jru.jabberstudio.org/ to remove it" -#~ msgstr "" -#~ "Die Jabber-ID %s ist nicht RFC-konform und wird nicht zu Ihrer " -#~ "Kontaktliste hinzugefügt. Verwenden Sie ein Kontaktlisten-Managment-Tool " -#~ "wie , um sie zu entfernen." +#, fuzzy +#~ msgid "Impossible join groupchat" +#~ msgstr "Fehler beim Betreten des Chatraums" + +#, fuzzy +#~ msgid "local account does not support groupchats." +#~ msgstr "Der Kontakt unterstützt keine Dateiübertragung." + +#~ msgid "Condition" +#~ msgstr "Bedingung" + +#~ msgid "when I am " +#~ msgstr "wenn Ich bin " + +# TODO: GPG/PGP unification in original strings needed +#~ msgid "Requires gpg and python-GnuPGInterface." +#~ msgstr "Erfordert GnuPG und python-GnuPGInterface." + +#~ msgid "Subject: %s" +#~ msgstr "Thema: %s" #~ msgid "Account Modification" #~ msgstr "Kontoänderung" @@ -11204,9 +11264,6 @@ msgstr " Resource mit Priorität " #~ msgid "B_OSH Port:" #~ msgstr "B_OSH-Port:" -#~ msgid "Show _roster" -#~ msgstr "_Kontaktliste anzeigen" - #~ msgid "Modify Account" #~ msgstr "Konto bearbeiten" diff --git a/po/fr.po b/po/fr.po index b378970a9..d743565db 100644 --- a/po/fr.po +++ b/po/fr.po @@ -1,27 +1,27 @@ # French translations for gajim package # Copyright (C) 2004-2006 THE gajim'S COPYRIGHT HOLDER # This file is distributed under the same license as the gajim package. -# +# # See: http://live.gnome.org/GnomeFr/Traduire for translation guidelines -# +# msgid "" msgstr "" "Project-Id-Version: gajim 0.12 svn\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-01 20:39+0200\n" -"PO-Revision-Date: 2009-11-15 15:50+0100\n" +"POT-Creation-Date: 2011-07-19 00:05+0200\n" +"PO-Revision-Date: 2011-05-30 08:28+0100\n" "Last-Translator: Florent Le Coz \n" "Language-Team: <>\n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: \n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Poedit-SourceCharset: utf-8\n" -"X-Poedit-SearchPath-0: .\n" "X-Poedit-Basepath: /home/louiz/gajim\n" "X-Poedit-Country: FRANCE\n" "X-Poedit-Language: French\n" +"X-Poedit-SearchPath-0: .\n" #: ../data/gui/account_context_menu.ui.h:1 ../data/gui/roster_window.ui.h:7 msgid "Join _Group Chat..." @@ -31,7 +31,7 @@ msgstr "_Rejoindre un _salon de discussion..." msgid "_Add Contact..." msgstr "_Ajouter un contact..." -#: ../data/gui/account_context_menu.ui.h:3 ../data/gui/roster_window.ui.h:18 +#: ../data/gui/account_context_menu.ui.h:3 ../data/gui/roster_window.ui.h:20 msgid "_Discover Services" msgstr "_Découvrir les services" @@ -51,7 +51,7 @@ msgstr "_Accéder au compte Gmail" msgid "_Personal Events" msgstr "Évènements P_ersonnels" -#: ../data/gui/account_context_menu.ui.h:8 ../data/gui/roster_window.ui.h:24 +#: ../data/gui/account_context_menu.ui.h:8 ../data/gui/roster_window.ui.h:25 msgid "_Start Chat..." msgstr "Commencer une _discussion..." @@ -113,7 +113,8 @@ msgstr "Je veux _créer un nouveau compte" #: ../data/gui/account_creation_wizard_window.ui.h:15 #: ../data/gui/accounts_window.ui.h:28 msgid "If checked, Gajim will remember the password for this account" -msgstr "Si cette case est cochée, Gajim va retenir le mot de passe pour ce compte" +msgstr "" +"Si cette case est cochée, Gajim va retenir le mot de passe pour ce compte" #: ../data/gui/account_creation_wizard_window.ui.h:16 msgid "Manage..." @@ -121,12 +122,12 @@ msgstr "Gérer..." #: ../data/gui/account_creation_wizard_window.ui.h:17 #: ../data/gui/accounts_window.ui.h:39 ../data/gui/change_mood_dialog.ui.h:3 -#: ../src/config.py:1280 ../src/config.py:1383 ../src/config.py:1694 -#: ../src/config.py:1699 ../src/config.py:2265 ../src/config.py:2344 -#: ../src/config.py:2357 ../src/config.py:3613 ../src/config.py:3688 -#: ../src/dialogs.py:309 ../src/dialogs.py:311 ../src/dialogs.py:514 -#: ../src/dialogs.py:527 ../src/roster_window.py:2956 -#: ../src/roster_window.py:2962 ../src/roster_window.py:2967 +#: ../src/config.py:1289 ../src/config.py:1392 ../src/config.py:1703 +#: ../src/config.py:1708 ../src/config.py:2274 ../src/config.py:2353 +#: ../src/config.py:2366 ../src/config.py:3644 ../src/config.py:3719 +#: ../src/dialogs.py:311 ../src/dialogs.py:313 ../src/dialogs.py:519 +#: ../src/dialogs.py:532 ../src/roster_window.py:3096 +#: ../src/roster_window.py:3102 ../src/roster_window.py:3107 msgid "None" msgstr "Aucun" @@ -156,7 +157,7 @@ msgstr "" "au réseau Jabber." #: ../data/gui/account_creation_wizard_window.ui.h:24 -#: ../data/gui/roster_window.ui.h:16 +#: ../data/gui/roster_window.ui.h:18 msgid "_Advanced" msgstr "_Avancées" @@ -175,6 +176,7 @@ msgstr "Identifiant _Jabber : " #: ../data/gui/account_creation_wizard_window.ui.h:28 #: ../data/gui/accounts_window.ui.h:64 +#: ../data/gui/manage_bookmarks_window.ui.h:8 msgid "_Password:" msgstr "Mot de _passe : " @@ -183,6 +185,7 @@ msgid "_Port:" msgstr "_Port :" #: ../data/gui/account_creation_wizard_window.ui.h:30 +#: ../data/gui/manage_bookmarks_window.ui.h:9 msgid "_Server:" msgstr "_Serveur :" @@ -239,8 +242,12 @@ msgid "Chan_ge Password" msgstr "Chan_ger le mot de passe" #: ../data/gui/accounts_window.ui.h:14 -msgid "Check this so Gajim will ask you before sending your password over an insecure connection." -msgstr "Cochez cette case pour que Gajim vous demande avant d'envoyer votre mot de passe via une connexion non-sécurisée" +msgid "" +"Check this so Gajim will ask you before sending your password over an " +"insecure connection." +msgstr "" +"Cochez cette case pour que Gajim vous demande avant d'envoyer votre mot de " +"passe via une connexion non-sécurisée" #: ../data/gui/accounts_window.ui.h:15 msgid "Choose Client Cert" @@ -256,7 +263,8 @@ msgstr "Cliquez pour changer le mot de passe du compte" #: ../data/gui/accounts_window.ui.h:18 msgid "Click to request authorization to all contacts of another account" -msgstr "Cliquez pour demander l'autorisation à tous les contacts d'un autre compte" +msgstr "" +"Cliquez pour demander l'autorisation à tous les contacts d'un autre compte" #: ../data/gui/accounts_window.ui.h:19 msgid "Client certificate" @@ -282,57 +290,80 @@ msgstr "Prénom :" #. No configured account #: ../data/gui/accounts_window.ui.h:24 ../data/gui/roster_window.ui.h:5 -#: ../src/common/helpers.py:1159 ../src/common/helpers.py:1171 -#: ../src/notify.py:528 ../src/notify.py:551 ../src/notify.py:600 -#: ../src/notify.py:616 +#: ../src/common/helpers.py:1148 ../src/common/helpers.py:1160 +#: ../src/notify.py:474 ../src/notify.py:497 ../src/notify.py:546 +#: ../src/notify.py:562 msgid "Gajim" msgstr "Gajim" #. FIXME: Ugly workaround. -#. FIXME: Ugly workaround. Maybe we haven't been in any group (defaults to -#. General) +#. FIXME: Ugly workaround. +#. Maybe we haven't been in any group (defaults to General) #. General group cannot be changed -#: ../data/gui/accounts_window.ui.h:25 ../data/gui/preferences_window.ui.h:57 -#: ../src/common/contacts.py:141 ../src/dialogs.py:112 ../src/dialogs.py:122 -#: ../src/roster_window.py:2898 ../src/roster_window.py:5451 +#: ../data/gui/accounts_window.ui.h:25 ../data/gui/preferences_window.ui.h:56 +#: ../src/common/contacts.py:141 ../src/dialogs.py:112 ../src/dialogs.py:124 +#: ../src/roster_window.py:3038 ../src/roster_window.py:5643 msgid "General" msgstr "Général" #: ../data/gui/accounts_window.ui.h:26 -msgid "If checked, Gajim will also broadcast some more IPs except from just your IP, so file transfer has higher chances of working." -msgstr "Si cette case est cochée, Gajim va diffuser des adresses IP en plus de la vôtre, les transferts de fichiers ont ainsi plus de chance de fonctionner." +msgid "" +"If checked, Gajim will also broadcast some more IPs except from just your " +"IP, so file transfer has higher chances of working." +msgstr "" +"Si cette case est cochée, Gajim va diffuser des adresses IP en plus de la " +"vôtre, les transferts de fichiers ont ainsi plus de chance de fonctionner." #: ../data/gui/accounts_window.ui.h:27 msgid "If checked, Gajim will get the password from a GPG agent like seahorse" -msgstr "Si cette case est cochée, Gajim obtiendra le mot de passe depuis un agent GPG comme seahorse" +msgstr "" +"Si cette case est cochée, Gajim obtiendra le mot de passe depuis un agent " +"GPG comme seahorse" #: ../data/gui/accounts_window.ui.h:29 -msgid "If checked, Gajim will send keep-alive packets to prevent connection timeout which results in disconnection" -msgstr "Si coché, Gajim enverra des paquets de maintien de connection pour prévenir des temps de latence pouvant entraîner des déconnexions" +msgid "" +"If checked, Gajim will send keep-alive packets to prevent connection timeout " +"which results in disconnection" +msgstr "" +"Si coché, Gajim enverra des paquets de maintien de connection pour prévenir " +"des temps de latence pouvant entraîner des déconnexions" #: ../data/gui/accounts_window.ui.h:30 -msgid "If checked, Gajim, when launched, will automatically connect to jabber using this account" -msgstr "Si cette case est cochée, au démarrage, Gajim se connectera automatiquement à jabber en utilisant ce compte" +msgid "" +"If checked, Gajim, when launched, will automatically connect to jabber using " +"this account" +msgstr "" +"Si cette case est cochée, au démarrage, Gajim se connectera automatiquement " +"à jabber en utilisant ce compte" #: ../data/gui/accounts_window.ui.h:31 -msgid "If checked, any change to the global status (handled by the combobox at the bottom of the roster window) will change the status of this account accordingly" -msgstr "Si cette case est cochée, toute modification de l'état global (accessible à l'aide du bouton en bas de la fenêtre principale) sera répercutée sur l'état de ce compte" +msgid "" +"If checked, any change to the global status (handled by the combobox at the " +"bottom of the roster window) will change the status of this account " +"accordingly" +msgstr "" +"Si cette case est cochée, toute modification de l'état global (accessible à " +"l'aide du bouton en bas de la fenêtre principale) sera répercutée sur l'état " +"de ce compte" #: ../data/gui/accounts_window.ui.h:32 msgid "" -"If the default port that is used for incoming messages is unfitting for your setup you can select another one here.\n" +"If the default port that is used for incoming messages is unfitting for your " +"setup you can select another one here.\n" "You might consider to change possible firewall settings." msgstr "" -"Si le port par défaut utilisé pour les messages entrants n'est pas adapté à vos besoins, vous pouvez en spécifier un ici.\n" -"Vous devriez considérer modifier les paramètres de votre pare-feu si vous en avez un." +"Si le port par défaut utilisé pour les messages entrants n'est pas adapté à " +"vos besoins, vous pouvez en spécifier un ici.\n" +"Vous devriez considérer modifier les paramètres de votre pare-feu si vous en " +"avez un." #: ../data/gui/accounts_window.ui.h:34 msgid "Information about you, as stored in the server" msgstr "Les informations vous concernant, stockées sur le serveur" #: ../data/gui/accounts_window.ui.h:35 -#: ../data/gui/zeroconf_information_window.ui.h:4 ../src/config.py:1817 -#: ../src/dialogs.py:831 +#: ../data/gui/zeroconf_information_window.ui.h:4 ../src/config.py:1826 +#: ../src/dialogs.py:837 msgid "Jabber ID:" msgstr "Identifiant Jabber :" @@ -345,8 +376,8 @@ msgstr "Nom :" msgid "Mer_ge accounts" msgstr "_Regrouper les comptes" -#: ../data/gui/accounts_window.ui.h:38 ../src/config.py:1790 -#: ../src/config.py:2358 +#: ../data/gui/accounts_window.ui.h:38 ../src/config.py:1799 +#: ../src/config.py:2367 msgid "No key selected" msgstr "Pas de clé sélectionnée" @@ -359,15 +390,21 @@ msgid "Priori_ty:" msgstr "Priori_té :" #: ../data/gui/accounts_window.ui.h:42 -msgid "Priority is used in Jabber to determine who gets the events from the jabber server when two or more clients are connected using the same account; The client with the highest priority gets the events" -msgstr "La priorité est utilisée par Jabber pour déterminer qui reçoit les événements du serveur quand plusieurs clients sont connectés avec le même compte. Le client ayant la plus haute priorité recevra les messages" +msgid "" +"Priority is used in Jabber to determine who gets the events from the jabber " +"server when two or more clients are connected using the same account; The " +"client with the highest priority gets the events" +msgstr "" +"La priorité est utilisée par Jabber pour déterminer qui reçoit les " +"événements du serveur quand plusieurs clients sont connectés avec le même " +"compte. Le client ayant la plus haute priorité recevra les messages" #: ../data/gui/accounts_window.ui.h:43 msgid "Priority will change automatically according to your status." msgstr "La priorité va changer automatiquement selon votre état." #. Rename -#: ../data/gui/accounts_window.ui.h:44 ../src/roster_window.py:5401 +#: ../data/gui/accounts_window.ui.h:44 ../src/roster_window.py:5593 msgid "Re_name" msgstr "Re_nommer" @@ -376,8 +413,18 @@ msgid "Resour_ce:" msgstr "Ressour_ce: " #: ../data/gui/accounts_window.ui.h:46 -msgid "Resource is sent to the Jabber server in order to separate the same JID in two or more parts depending on the number of the clients connected in the same server with the same account. So you might be connected in the same account with resource 'Home' and 'Work' at the same time. The resource which has the highest priority will get the events. (see below)" -msgstr "La ressource est envoyée au serveur Jabber pour différencier les clients connectés au même serveur avec le même compte. Vous pouvez donc être connecté avec le même compte avec les ressources « Maison » et « Travail » en même temps. La ressource avec la plus haute priorité recevra les messages (voir plus bas)." +msgid "" +"Resource is sent to the Jabber server in order to separate the same JID in " +"two or more parts depending on the number of the clients connected in the " +"same server with the same account. So you might be connected in the same " +"account with resource 'Home' and 'Work' at the same time. The resource which " +"has the highest priority will get the events. (see below)" +msgstr "" +"La ressource est envoyée au serveur Jabber pour différencier les clients " +"connectés au même serveur avec le même compte. Vous pouvez donc être " +"connecté avec le même compte avec les ressources « Maison » et « Travail » " +"en même temps. La ressource avec la plus haute priorité recevra les messages " +"(voir plus bas)." #: ../data/gui/accounts_window.ui.h:47 msgid "Save conversation _logs for all contacts" @@ -402,7 +449,7 @@ msgstr "Synchroniser les contacts" #: ../data/gui/accounts_window.ui.h:53 msgid "The path to the client certificate and key in PKCS#12 format" -msgstr "" +msgstr "Chemin vers le certificat client et la clé au format PKCS#12" #: ../data/gui/accounts_window.ui.h:54 msgid "Use G_PG Agent" @@ -494,6 +541,7 @@ msgid "_Group:" msgstr "_Groupe :" #: ../data/gui/add_new_contact_window.ui.h:12 +#: ../data/gui/manage_bookmarks_window.ui.h:7 msgid "_Nickname:" msgstr "_Surnom :" @@ -539,7 +587,8 @@ msgstr "F_inir" #: ../data/gui/adhoc_commands_window.ui.h:7 msgid "Please wait while retrieving command list..." -msgstr "Merci de patienter pendant la récupération de la liste des commandes..." +msgstr "" +"Merci de patienter pendant la récupération de la liste des commandes..." #: ../data/gui/adhoc_commands_window.ui.h:8 msgid "Please wait while the command is sending..." @@ -560,7 +609,9 @@ msgstr "Description" #: ../data/gui/advanced_configuration_window.ui.h:2 msgid "NOTE: You should restart Gajim for some settings to take effect" -msgstr "NOTE : Vous devriez redémarrer Gajim pour prendre en compte certaines de vos modifications." +msgstr "" +"NOTE : Vous devriez redémarrer Gajim pour prendre en compte certaines " +"de vos modifications." #: ../data/gui/advanced_configuration_window.ui.h:3 msgid "Advanced Configuration Editor" @@ -618,183 +669,9 @@ msgstr "_Administrateur" msgid "_Send Server Message..." msgstr "_Envoyer un message au serveur..." -#: ../data/gui/advanced_notifications_window.ui.h:1 -msgid " a window/tab opened with that contact " -msgstr "une fenêtre ou un onglet ouvert avec ce contact " - -#: ../data/gui/advanced_notifications_window.ui.h:2 -msgid "Actions" -msgstr "Actions" - -#: ../data/gui/advanced_notifications_window.ui.h:3 -msgid "Conditions" -msgstr "Conditions" - -#: ../data/gui/advanced_notifications_window.ui.h:4 -#: ../data/gui/preferences_window.ui.h:17 -msgid "Sounds" -msgstr "Sons" - -#: ../data/gui/advanced_notifications_window.ui.h:5 -msgid "Advanced Actions" -msgstr "Actions avancées" - -#: ../data/gui/advanced_notifications_window.ui.h:6 -msgid "Advanced Notifications Control" -msgstr "Éditeur de configuration avancée" - -#: ../data/gui/advanced_notifications_window.ui.h:7 -msgid "All statuses" -msgstr "Tous les états" - -#: ../data/gui/advanced_notifications_window.ui.h:8 -#: ../src/common/commands.py:106 ../src/common/helpers.py:239 -#: ../src/tooltips.py:193 -msgid "Away" -msgstr "Absent(e)" - -#: ../data/gui/advanced_notifications_window.ui.h:9 -msgid "Busy " -msgstr "Occupé(e) " - -#: ../data/gui/advanced_notifications_window.ui.h:10 -#, fuzzy -msgid "Contact Change Status " -msgstr "Le contact a changé d'état" - -#: ../data/gui/advanced_notifications_window.ui.h:11 -msgid "Contact Disconnected " -msgstr "Contact déconnecté" - -#: ../data/gui/advanced_notifications_window.ui.h:12 -msgid "Don't have " -msgstr "N'ai pas" - -#: ../data/gui/advanced_notifications_window.ui.h:13 -msgid "File Transfer Finished" -msgstr "Transfert de fichier terminé" - -#: ../data/gui/advanced_notifications_window.ui.h:14 -msgid "File Transfer Request " -msgstr "Requête de transfert de fichier" - -#: ../data/gui/advanced_notifications_window.ui.h:15 -msgid "File Transfer Started " -msgstr "Transfert de fichier commencé" - -#: ../data/gui/advanced_notifications_window.ui.h:16 -msgid "Group Chat Message Highlight " -msgstr "Message d'un salon mis en surbrillance" - -#: ../data/gui/advanced_notifications_window.ui.h:17 -msgid "Group Chat Message Received " -msgstr "Message reçu dans un salon" - -#: ../data/gui/advanced_notifications_window.ui.h:18 -msgid "Have " -msgstr "Ai" - -#: ../data/gui/advanced_notifications_window.ui.h:19 -#: ../src/common/helpers.py:249 -msgid "Invisible" -msgstr "Invisible" - -#: ../data/gui/advanced_notifications_window.ui.h:20 -msgid "Launch a command" -msgstr "Lancer une commande" - -#: ../data/gui/advanced_notifications_window.ui.h:21 -#: ../src/common/helpers.py:222 ../src/tooltips.py:197 -msgid "Not Available" -msgstr "Non disponible" - -#: ../data/gui/advanced_notifications_window.ui.h:22 -msgid "One or more special statuses..." -msgstr "Un ou plusieurs états spéciaux..." - -#: ../data/gui/advanced_notifications_window.ui.h:23 -msgid "Online / Free For Chat" -msgstr "En ligne / Disponible pour discuter" - -#: ../data/gui/advanced_notifications_window.ui.h:24 -msgid "Play a sound" -msgstr "Jouer un son" - -#: ../data/gui/advanced_notifications_window.ui.h:25 -msgid "Receive a Message" -msgstr "Recevoir un message" - -#: ../data/gui/advanced_notifications_window.ui.h:26 -msgid "When " -msgstr "Quand" - -#: ../data/gui/advanced_notifications_window.ui.h:27 -msgid "_Activate window manager's UrgencyHint to make chat window in taskbar flash" -msgstr "_Activer l'indice d'urgence du gestionnaire de fenêtres pour faire clignoter la fenêtre de discussion dans la liste des fenêtres" - -#: ../data/gui/advanced_notifications_window.ui.h:28 -msgid "_Disable auto opening chat window" -msgstr "_Désactiver l'ouverture automatique de fenêtres de conversation" - -#: ../data/gui/advanced_notifications_window.ui.h:29 -msgid "_Disable existing popup window" -msgstr "_Désactiver la fenêtre popup existante" - -#: ../data/gui/advanced_notifications_window.ui.h:30 -msgid "_Disable existing sound for this event" -msgstr "_Désactiver le son existant pour cet événement" - -#: ../data/gui/advanced_notifications_window.ui.h:31 -msgid "_Disable showing event in notification area" -msgstr "_Désactiver l'affichage des événements dans la zone de notification" - -#: ../data/gui/advanced_notifications_window.ui.h:32 -msgid "_Disable showing event in roster" -msgstr "_Désactiver l'affichage des événements dans la liste de contacts" - -#: ../data/gui/advanced_notifications_window.ui.h:33 -msgid "_Inform me with a popup window" -msgstr "M'av_iser avec une fenêtre popup" - -#: ../data/gui/advanced_notifications_window.ui.h:34 -msgid "_Open chat window with user" -msgstr "_Ouvrir une fenêtre de conversation" - -#: ../data/gui/advanced_notifications_window.ui.h:35 -msgid "_Show event in notification area" -msgstr "Afficher les événements dans la zone de notification" - -#: ../data/gui/advanced_notifications_window.ui.h:36 -msgid "_Show event in roster" -msgstr "Ne le montrer que dans la _liste" - -#: ../data/gui/advanced_notifications_window.ui.h:37 -msgid "and I " -msgstr "et je " - -#: ../data/gui/advanced_notifications_window.ui.h:38 -msgid "contact(s)" -msgstr "contact(s)" - -#: ../data/gui/advanced_notifications_window.ui.h:39 -msgid "everybody" -msgstr "tout le monde" - -#: ../data/gui/advanced_notifications_window.ui.h:40 -msgid "for " -msgstr "pour " - -#: ../data/gui/advanced_notifications_window.ui.h:41 -msgid "group(s)" -msgstr "groupes" - -#: ../data/gui/advanced_notifications_window.ui.h:42 -msgid "when I'm in" -msgstr "lorsque je suis là" - #: ../data/gui/archiving_preferences_window.ui.h:1 msgid "Method Auto" -msgstr "" +msgstr "Méthode Automatique" #: ../data/gui/archiving_preferences_window.ui.h:2 msgid "Method Local" @@ -856,8 +733,8 @@ msgstr "Contacts Bloqués" #: ../data/gui/blocked_contacts_window.ui.h:2 #: ../data/gui/contact_context_menu.ui.h:25 -#: ../data/gui/gc_occupants_menu.ui.h:13 ../src/roster_window.py:5420 -#: ../src/roster_window.py:5548 ../src/roster_window.py:5681 +#: ../data/gui/gc_occupants_menu.ui.h:14 ../src/roster_window.py:5612 +#: ../src/roster_window.py:5739 ../src/roster_window.py:5872 msgid "_Unblock" msgstr "_Débloquer" @@ -944,8 +821,7 @@ msgstr "_Ouvrir le lien dans votre navigateur" msgid "_Start Chat" msgstr "Commencer une _discussion" -#. # means number -#: ../data/gui/chat_control.ui.h:1 ../src/dialogs.py:4596 +#: ../data/gui/chat_control.ui.h:1 msgid "#" msgstr "#" @@ -1029,10 +905,9 @@ msgstr "Démarrer/arrêter une session audio" msgid "Toggle video session" msgstr "Démarrer/arrêter une session vidéo" -#. Make sure the character after "_" is not M/m (conflicts with Alt+M that is -#. supposed to show the Emoticon Selector) +#. Make sure the character after "_" is not M/m (conflicts with Alt+M that is supposed to show the Emoticon Selector) #: ../data/gui/chat_control.ui.h:23 ../data/gui/groupchat_control.ui.h:9 -#: ../data/gui/xml_console_window.ui.h:16 ../src/filetransfers_window.py:266 +#: ../data/gui/xml_console_window.ui.h:16 ../src/filetransfers_window.py:275 msgid "_Send" msgstr "En_voyer" @@ -1086,8 +961,9 @@ msgstr "Éditer les _groupes..." #. Invite to #. Invite to Groupchat -#: ../data/gui/contact_context_menu.ui.h:6 ../src/roster_window.py:5356 -#: ../src/roster_window.py:5516 +#: ../data/gui/contact_context_menu.ui.h:6 +#: ../data/gui/gc_occupants_menu.ui.h:1 ../src/roster_window.py:5548 +#: ../src/roster_window.py:5707 msgid "In_vite to" msgstr "In_viter à" @@ -1099,12 +975,12 @@ msgstr "Inviter des _Contacts" msgid "Remo_ve" msgstr "Suppri_mer" -#: ../data/gui/contact_context_menu.ui.h:9 ../src/roster_window.py:5366 -#: ../src/roster_window.py:5605 +#: ../data/gui/contact_context_menu.ui.h:9 ../src/roster_window.py:5558 +#: ../src/roster_window.py:5796 msgid "Send Cus_tom Status" msgstr "Envoyer un Statut Personnalisé" -#: ../data/gui/contact_context_menu.ui.h:10 +#: ../data/gui/contact_context_menu.ui.h:10 ../data/gui/roster_window.ui.h:10 msgid "Send Single _Message..." msgstr "Envoyer un _message simple..." @@ -1133,8 +1009,8 @@ msgid "_Allow him/her to see my status" msgstr "L'autoriser à voir mon état" #: ../data/gui/contact_context_menu.ui.h:18 -#: ../data/gui/gc_occupants_menu.ui.h:7 ../src/roster_window.py:5428 -#: ../src/roster_window.py:5554 ../src/roster_window.py:5684 +#: ../data/gui/gc_occupants_menu.ui.h:8 ../src/roster_window.py:5620 +#: ../src/roster_window.py:5745 ../src/roster_window.py:5875 msgid "_Block" msgstr "_Bloquer" @@ -1144,8 +1020,8 @@ msgstr "Interdire de voir mon état" #: ../data/gui/contact_context_menu.ui.h:20 #: ../data/gui/gc_control_popup_menu.ui.h:6 -#: ../data/gui/gc_occupants_menu.ui.h:8 ../data/gui/roster_window.ui.h:22 -#: ../src/roster_window.py:5755 +#: ../data/gui/gc_occupants_menu.ui.h:9 ../data/gui/roster_window.ui.h:24 +#: ../src/roster_window.py:5946 msgid "_History" msgstr "_Historique" @@ -1211,7 +1087,8 @@ msgstr "Annule le transfert du fichier sélectionné" #: ../data/gui/filetransfers.ui.h:4 msgid "Cancels the selected file transfer and removes incomplete file" -msgstr "Annule le transfert du fichier sélectionné et supprime le fichier incomplet" +msgstr "" +"Annule le transfert du fichier sélectionné et supprime le fichier incomplet" #: ../data/gui/filetransfers.ui.h:5 msgid "Clean _up" @@ -1231,21 +1108,28 @@ msgstr "Supprimer le transfert de fichier de la liste." #: ../data/gui/filetransfers.ui.h:9 msgid "Removes completed, cancelled and failed file transfers from the list" -msgstr "Supprimer les transferts de fichier terminés, annulés et échoués de la liste" +msgstr "" +"Supprimer les transferts de fichier terminés, annulés et échoués de la liste" #: ../data/gui/filetransfers.ui.h:10 msgid "Shows a list of file transfers between you and others" msgstr "Affiche une liste des transferts de fichiers entre vous et les autres" #: ../data/gui/filetransfers.ui.h:11 -msgid "This action removes single file transfer from the list. If the transfer is active, it is first stopped and then removed" -msgstr "Cette action supprime les transferts de fichier de la liste. Si le transfert est actif, il est d'abord arrêté puis supprimé" +msgid "" +"This action removes single file transfer from the list. If the transfer is " +"active, it is first stopped and then removed" +msgstr "" +"Cette action supprime les transferts de fichier de la liste. Si le transfert " +"est actif, il est d'abord arrêté puis supprimé" #: ../data/gui/filetransfers.ui.h:12 msgid "When a file transfer is complete show a popup notification" -msgstr "Quand le transfert de fichier est terminé, montrer une fenêtre de notification" +msgstr "" +"Quand le transfert de fichier est terminé, montrer une fenêtre de " +"notification" -#: ../data/gui/filetransfers.ui.h:13 ../src/filetransfers_window.py:788 +#: ../data/gui/filetransfers.ui.h:13 ../src/filetransfers_window.py:798 msgid "_Continue" msgstr "_Continuer" @@ -1270,11 +1154,10 @@ msgid "Chatstate Tab Colors" msgstr "Couleurs des Onglets" #: ../data/gui/gajim_themes_window.ui.h:2 -#, fuzzy msgid "Account row" -msgstr "Compte" +msgstr "Ligne de compte" -#: ../data/gui/gajim_themes_window.ui.h:3 ../src/chat_control.py:942 +#: ../data/gui/gajim_themes_window.ui.h:3 ../src/chat_control.py:1029 msgid "Bold" msgstr "Gras" @@ -1287,9 +1170,8 @@ msgid "Composing" msgstr "En train d'écrire" #: ../data/gui/gajim_themes_window.ui.h:6 -#, fuzzy msgid "Contact row" -msgstr "Contact" +msgstr "Ligne de contact" #: ../data/gui/gajim_themes_window.ui.h:7 msgid "Font style:" @@ -1304,15 +1186,14 @@ msgid "Gone" msgstr "Parti" #: ../data/gui/gajim_themes_window.ui.h:10 -#, fuzzy msgid "Group row" -msgstr "Groupe" +msgstr "Ligne de groupe" #: ../data/gui/gajim_themes_window.ui.h:11 ../src/common/pep.py:150 msgid "Inactive" msgstr "Inactif" -#: ../data/gui/gajim_themes_window.ui.h:12 ../src/chat_control.py:943 +#: ../data/gui/gajim_themes_window.ui.h:12 ../src/chat_control.py:1030 msgid "Italic" msgstr "Italique" @@ -1377,47 +1258,52 @@ msgstr "_Gérer le Salon" msgid "_Minimize on close" msgstr "_Minimiser à la fermeture" -#: ../data/gui/gc_occupants_menu.ui.h:1 +#: ../data/gui/gc_control_popup_menu.ui.h:9 +#, fuzzy +msgid "_Request Voice" +msgstr "_S'exprimer" + +#: ../data/gui/gc_occupants_menu.ui.h:2 msgid "Mo_derator" msgstr "Mo_dérer" -#: ../data/gui/gc_occupants_menu.ui.h:2 +#: ../data/gui/gc_occupants_menu.ui.h:3 msgid "Occupant Actions" msgstr "Actions des Occupants" -#: ../data/gui/gc_occupants_menu.ui.h:3 +#: ../data/gui/gc_occupants_menu.ui.h:4 msgid "Send _File" msgstr "Envoyer un _fichier" -#: ../data/gui/gc_occupants_menu.ui.h:4 +#: ../data/gui/gc_occupants_menu.ui.h:5 msgid "_Add to Roster" msgstr "_Ajouter à la liste de contacts" -#: ../data/gui/gc_occupants_menu.ui.h:5 +#: ../data/gui/gc_occupants_menu.ui.h:6 msgid "_Admin" msgstr "_Administrateur" -#: ../data/gui/gc_occupants_menu.ui.h:6 +#: ../data/gui/gc_occupants_menu.ui.h:7 msgid "_Ban" msgstr "_Bannir" -#: ../data/gui/gc_occupants_menu.ui.h:9 +#: ../data/gui/gc_occupants_menu.ui.h:10 msgid "_Kick" msgstr "_Éjecter" -#: ../data/gui/gc_occupants_menu.ui.h:10 +#: ../data/gui/gc_occupants_menu.ui.h:11 msgid "_Member" msgstr "_Membre" -#: ../data/gui/gc_occupants_menu.ui.h:11 +#: ../data/gui/gc_occupants_menu.ui.h:12 msgid "_Owner" msgstr "Pr_opriétaire" -#: ../data/gui/gc_occupants_menu.ui.h:12 +#: ../data/gui/gc_occupants_menu.ui.h:13 msgid "_Send Private Message" msgstr "_Envoyer un message privé" -#: ../data/gui/gc_occupants_menu.ui.h:14 +#: ../data/gui/gc_occupants_menu.ui.h:15 msgid "_Voice" msgstr "_S'exprimer" @@ -1450,61 +1336,61 @@ msgstr "Sujet :" #: ../data/gui/history_manager.ui.h:1 msgid "" "WARNING:\n" -"If you plan to do massive deletions, please make sure Gajim is not running. Generally avoid deletions with contacts you currently chat with." +"If you plan to do massive deletions, please make sure Gajim is not running. " +"Generally avoid deletions with contacts you currently chat with." msgstr "" "ATTENTION :\n" -"Si vous comptez faire beaucoup de suppressions, vérifiez que Gajim n'est pas lancé. Évitez les suppressions de contacts avec qui vous êtes en train de parler." +"Si vous comptez faire beaucoup de suppressions, vérifiez que Gajim n'est pas " +"lancé. Évitez les suppressions de contacts avec qui vous êtes en train de " +"parler." #: ../data/gui/history_manager.ui.h:3 msgid "Welcome to Gajim History Logs Manager" msgstr "Bienvenue dans le Gestionnaire d'Archives Gajim" -#. Change label for accept_button to action name instead of 'OK'. -#: ../data/gui/history_manager.ui.h:4 ../src/dialogs.py:3224 -#: ../src/dialogs.py:3321 -msgid "Delete" -msgstr "Supprimer" - -#: ../data/gui/history_manager.ui.h:5 +#: ../data/gui/history_manager.ui.h:4 msgid "Export" msgstr "Exporter" -#: ../data/gui/history_manager.ui.h:6 +#: ../data/gui/history_manager.ui.h:5 msgid "Gajim History Logs Manager" msgstr "Gestionnaire d'historique de Gajim" -#: ../data/gui/history_manager.ui.h:7 +#: ../data/gui/history_manager.ui.h:6 msgid "" -"This log manager is not intended for log viewing. If you are looking for such functionality, use the history window instead.\n" +"This log manager is not intended for log viewing. If you are looking for " +"such functionality, use the history window instead.\n" "\n" -"Use this program to delete or export logs. You can select logs from the left and/or search database from below." +"Use this program to delete or export logs. You can select logs from the left " +"and/or search database from below." msgstr "" -"Ce gestionnaire d'archives n'est pas fait pour le visionnage des archives. Si vous cherchez cette fonctionnalité, utilise la fenêtre d'historiques à la place.\n" +"Ce gestionnaire d'archives n'est pas fait pour le visionnage des archives. " +"Si vous cherchez cette fonctionnalité, utilise la fenêtre d'historiques à la " +"place.\n" "\n" -"Utilisez ce programme pour supprimer ou exporter des archives. Vous pouvez sélectionner les archives à droite et/ou chercher dans la base de donnée en bas." +"Utilisez ce programme pour supprimer ou exporter des archives. Vous pouvez " +"sélectionner les archives à droite et/ou chercher dans la base de donnée en " +"bas." -#: ../data/gui/history_manager.ui.h:10 +#: ../data/gui/history_manager.ui.h:9 msgid "_Search Database" msgstr "_Rechercher dans la base de données" #: ../data/gui/history_window.ui.h:1 -#, fuzzy msgid "All Chat Histories" -msgstr "Tous les états" +msgstr "Tous les historiques" #: ../data/gui/history_window.ui.h:2 ../src/history_window.py:323 msgid "Conversation History" msgstr "Historique de conversation" #: ../data/gui/history_window.ui.h:3 -#, fuzzy msgid "Enter JID or Contact name" -msgstr "Nom du contact" +msgstr "Entrer un JID ou un nom de contact" #: ../data/gui/history_window.ui.h:4 -#, fuzzy msgid "Groupchat Histories" -msgstr "Salons de discussion" +msgstr "Historique de salons de discussion" #: ../data/gui/history_window.ui.h:5 msgid "Search:" @@ -1521,7 +1407,7 @@ msgstr "" #: ../data/gui/item_archiving_preferences_window.ui.h:2 msgid "body" -msgstr "" +msgstr "corps" #: ../data/gui/item_archiving_preferences_window.ui.h:3 msgid "concede" @@ -1540,13 +1426,11 @@ msgid "forbid" msgstr "interdire" #: ../data/gui/item_archiving_preferences_window.ui.h:7 -#: ../src/gajim-remote-plugin.py:213 ../src/gajim-remote.py:229 +#: ../src/gajim-remote.py:229 msgid "jid" msgstr "identifiant Jabber" #: ../data/gui/item_archiving_preferences_window.ui.h:8 -#: ../src/gajim-remote-plugin.py:107 ../src/gajim-remote-plugin.py:128 -#: ../src/gajim-remote-plugin.py:142 ../src/gajim-remote-plugin.py:153 #: ../src/gajim-remote.py:110 ../src/gajim-remote.py:133 #: ../src/gajim-remote.py:144 ../src/gajim-remote.py:158 #: ../src/gajim-remote.py:169 ../src/gajim-remote.py:282 @@ -1581,7 +1465,7 @@ msgstr "flux" msgid "Bro_wse Rooms" msgstr "_Parcourir les salons" -#: ../data/gui/join_groupchat_window.ui.h:3 ../src/dialogs.py:2196 +#: ../data/gui/join_groupchat_window.ui.h:3 ../src/dialogs.py:2298 msgid "Join Group Chat" msgstr "Rejoindre un salon de discussion" @@ -1590,12 +1474,10 @@ msgid "Join this room _automatically when I connect" msgstr "Joindre ce s_alon de discussion quand je me connecte" #: ../data/gui/join_groupchat_window.ui.h:5 -#: ../data/gui/manage_bookmarks_window.ui.h:5 msgid "Nickname:" msgstr "Surnom :" #: ../data/gui/join_groupchat_window.ui.h:6 -#: ../data/gui/manage_bookmarks_window.ui.h:6 msgid "Password:" msgstr "Mot de passe :" @@ -1604,27 +1486,24 @@ msgid "Recently:" msgstr "Récemment :" #: ../data/gui/join_groupchat_window.ui.h:8 -#: ../data/gui/manage_bookmarks_window.ui.h:8 msgid "Room:" msgstr "Salon de discussion :" -#: ../data/gui/join_groupchat_window.ui.h:9 -#: ../data/gui/manage_bookmarks_window.ui.h:9 ../src/config.py:1807 +#: ../data/gui/join_groupchat_window.ui.h:9 ../src/config.py:1816 msgid "Server:" msgstr "Serveur :" #: ../data/gui/join_groupchat_window.ui.h:10 -#, fuzzy msgid "_Bookmark this room" msgstr "Enregistrer ce salon dans les marque-pages" -#: ../data/gui/join_groupchat_window.ui.h:11 ../src/disco.py:1359 +#: ../data/gui/join_groupchat_window.ui.h:11 ../src/disco.py:1361 #: ../src/disco.py:1804 msgid "_Join" msgstr "Re_joindre" #: ../data/gui/manage_bookmarks_window.ui.h:1 -msgid "Auto join" +msgid "A_uto join" msgstr "Rejoindre automatiquement" #: ../data/gui/manage_bookmarks_window.ui.h:2 @@ -1636,15 +1515,20 @@ msgid "Manage Bookmarks" msgstr "Gérer les marque-pages" #: ../data/gui/manage_bookmarks_window.ui.h:4 -msgid "Minimize on Auto Join" +#, fuzzy +msgid "Minimi_ze on Auto Join" msgstr "Minimiser automatiquement" -#: ../data/gui/manage_bookmarks_window.ui.h:7 -msgid "Print status:" +#: ../data/gui/manage_bookmarks_window.ui.h:5 +msgid "Pr_int status:" msgstr "Afficher l'état :" +#: ../data/gui/manage_bookmarks_window.ui.h:6 +msgid "Roo_m:" +msgstr "" + #: ../data/gui/manage_bookmarks_window.ui.h:10 -msgid "Title:" +msgid "_Title:" msgstr "Titre :" #: ../data/gui/manage_pep_services_window.ui.h:1 @@ -1668,12 +1552,8 @@ msgid "BOSH" msgstr "BOSH" #: ../data/gui/manage_proxies_window.ui.h:4 -#, fuzzy msgid "HTTP Connect" -msgstr "" -"Connexion HTTP\n" -"SOCKS5\n" -"BOSH" +msgstr "Connexion HTTP" #: ../data/gui/manage_proxies_window.ui.h:5 msgid "Manage Proxy Profiles" @@ -1744,50 +1624,56 @@ msgid "Configure" msgstr "Configurer" #: ../data/gui/plugins_window.ui.h:6 -#, fuzzy -msgid "Descrition:" +msgid "Description:" msgstr "Description :" #: ../data/gui/plugins_window.ui.h:7 +msgid "Descrition:" +msgstr "Description :" + +#: ../data/gui/plugins_window.ui.h:8 msgid "Homepage:" msgstr "Site perso :" -#: ../data/gui/plugins_window.ui.h:8 +#: ../data/gui/plugins_window.ui.h:9 msgid "Install" msgstr "Installer" -#: ../data/gui/plugins_window.ui.h:9 +#: ../data/gui/plugins_window.ui.h:10 msgid "Installed" msgstr "Installé" -#: ../data/gui/plugins_window.ui.h:10 -msgid "Plug-in decription should be displayed here. This text will be erased during PluginsWindow initialization." -msgstr "" - #: ../data/gui/plugins_window.ui.h:11 +msgid "" +"Plug-in decription should be displayed here. This text will be erased during " +"PluginsWindow initialization." +msgstr "" +"La description du plugin doit se trouver ici. Ce teste sera effacé lors de " +"l'initialisation de la fenêtre de plugins." + +#: ../data/gui/plugins_window.ui.h:12 msgid "Plugins" msgstr "" -#: ../data/gui/plugins_window.ui.h:12 +#: ../data/gui/plugins_window.ui.h:13 msgid "Uninstall" msgstr "Désintaller" -#: ../data/gui/plugins_window.ui.h:13 +#: ../data/gui/plugins_window.ui.h:14 msgid "Version:" msgstr "Version :" -#: ../data/gui/plugins_window.ui.h:14 +#: ../data/gui/plugins_window.ui.h:15 msgid "button" msgstr "bouton" -#: ../data/gui/plugins_window.ui.h:15 +#: ../data/gui/plugins_window.ui.h:16 msgid "homepage url" msgstr "" #: ../data/gui/popup_notification_window.ui.h:1 -#, fuzzy msgid "Event Type" -msgstr "Événement" +msgstr "Type d'événement" #: ../data/gui/popup_notification_window.ui.h:2 #, fuzzy @@ -1823,12 +1709,10 @@ msgid "Chat state notifications" msgstr "Notifications visuelles" #: ../data/gui/preferences_window.ui.h:8 -#, fuzzy msgid "Connection" -msgstr "Conditions" +msgstr "Connexions" -#. a header for custom browser/client/file manager. so translate sth like: -#. Custom Settings +#. a header for custom browser/client/file manager. so translate sth like: Custom Settings #: ../data/gui/preferences_window.ui.h:10 msgid "Custom" msgstr "Paramètres personnalisés" @@ -1853,6 +1737,10 @@ msgstr "Vie privée" msgid "Roster Appearance" msgstr "Apparence de la fenêtre principale" +#: ../data/gui/preferences_window.ui.h:17 +msgid "Sounds" +msgstr "Sons" + #: ../data/gui/preferences_window.ui.h:18 msgid "Status Messages" msgstr "Messages d'état prédéfinis" @@ -1878,214 +1766,300 @@ msgid "Advanced" msgstr "Avancées" #: ../data/gui/preferences_window.ui.h:24 -msgid "Advanced..." -msgstr "Avancées..." - -#: ../data/gui/preferences_window.ui.h:25 #, fuzzy msgid "All chat states" msgstr "Tous les états" -#: ../data/gui/preferences_window.ui.h:26 +#: ../data/gui/preferences_window.ui.h:25 msgid "Allow _OS information to be sent" msgstr "Envoyer des informations concernant votre _système d'exploitation" -#: ../data/gui/preferences_window.ui.h:27 -#, fuzzy +#: ../data/gui/preferences_window.ui.h:26 msgid "Allow my _idle time to be sent" -msgstr "Envoyer des informations concernant votre _système d'exploitation" +msgstr "Envoyer mon temps d'inactivité" + +#: ../data/gui/preferences_window.ui.h:27 +msgid "Allow popup/notifications when I'm _away/na/busy/invisible" +msgstr "" +"Autoriser les _notifications lorsque je suis absent(e)/indisponible/occupé" +"(e)/invisible" #: ../data/gui/preferences_window.ui.h:28 -msgid "Allow popup/notifications when I'm _away/na/busy/invisible" -msgstr "Autoriser les _notifications lorsque je suis absent(e)/indisponible/occupé(e)/invisible" - -#: ../data/gui/preferences_window.ui.h:29 msgid "Allow sound when I'm _busy" msgstr "Autoriser les sons quand je suis _occupé(e)" -#: ../data/gui/preferences_window.ui.h:30 +#: ../data/gui/preferences_window.ui.h:29 msgid "Always" msgstr "Toujours" -#: ../data/gui/preferences_window.ui.h:31 +#: ../data/gui/preferences_window.ui.h:30 msgid "Ask status message when I:" msgstr "Demander le message d'état lorsque je me : " -#: ../data/gui/preferences_window.ui.h:32 ../src/features_window.py:105 +#: ../data/gui/preferences_window.ui.h:31 ../src/features_window.py:106 msgid "Audio / Video" msgstr "Audio / Vidéo" -#: ../data/gui/preferences_window.ui.h:33 +#: ../data/gui/preferences_window.ui.h:32 msgid "Audio input device" -msgstr "" +msgstr "Périphérique audio d'entrée" + +#: ../data/gui/preferences_window.ui.h:33 +msgid "Audio output device" +msgstr "Périphérique audio de sortie" #: ../data/gui/preferences_window.ui.h:34 -msgid "Audio output device" -msgstr "" - -#: ../data/gui/preferences_window.ui.h:35 msgid "Chat message:" msgstr "Message de conversation :" -#: ../data/gui/preferences_window.ui.h:36 +#: ../data/gui/preferences_window.ui.h:35 msgid "Check on startup if Gajim is the _default Jabber client" msgstr "Vérifier que Gajim est le client Jabber par _défaut au démarrage" -#: ../data/gui/preferences_window.ui.h:37 -#, fuzzy +#: ../data/gui/preferences_window.ui.h:36 msgid "Composing only" -msgstr "En train d'écrire" +msgstr "Seulement en train d'écrire" -#: ../data/gui/preferences_window.ui.h:38 +#: ../data/gui/preferences_window.ui.h:37 msgid "Configure color and font of the interface" msgstr "Paramétrer la couleur et la police de texte de l'interface" -#: ../data/gui/preferences_window.ui.h:39 +#: ../data/gui/preferences_window.ui.h:38 msgid "Contact's message:" msgstr "Le message du contact :" -#: ../data/gui/preferences_window.ui.h:40 +#: ../data/gui/preferences_window.ui.h:39 msgid "Contact's nickname:" msgstr "Le pseudo du contact :" -#: ../data/gui/preferences_window.ui.h:41 +#: ../data/gui/preferences_window.ui.h:40 msgid "Custom" msgstr "Personnalisé" -#: ../data/gui/preferences_window.ui.h:42 +#: ../data/gui/preferences_window.ui.h:41 msgid "Detached roster with chat grouped by account" msgstr "" -#: ../data/gui/preferences_window.ui.h:43 +#: ../data/gui/preferences_window.ui.h:42 msgid "Detached roster with chat grouped by type" msgstr "" -#: ../data/gui/preferences_window.ui.h:44 +#: ../data/gui/preferences_window.ui.h:43 msgid "Detached roster with detached chats" msgstr "" -#: ../data/gui/preferences_window.ui.h:45 +#: ../data/gui/preferences_window.ui.h:44 msgid "Detached roster with single chat" msgstr "" -#: ../data/gui/preferences_window.ui.h:46 ../src/config.py:170 -#: ../src/config.py:665 +#: ../data/gui/preferences_window.ui.h:45 ../src/config.py:170 +#: ../src/config.py:672 msgid "Disabled" msgstr "Désactivé" -#: ../data/gui/preferences_window.ui.h:47 +#: ../data/gui/preferences_window.ui.h:46 msgid "Display _activity of contacts in roster" msgstr "Afficher l'_activité des contacts dans la liste des contacts" -#: ../data/gui/preferences_window.ui.h:48 +#: ../data/gui/preferences_window.ui.h:47 msgid "Display _extra email details" msgstr "Afficher des informations détaillées de courriels" -#: ../data/gui/preferences_window.ui.h:49 -#, fuzzy +#: ../data/gui/preferences_window.ui.h:48 msgid "Display _location of contacts in roster" -msgstr "Afficher l'humeur des contacts dans la liste des contacts" +msgstr "Afficher la localisation des contacts dans la liste" -#: ../data/gui/preferences_window.ui.h:50 +#: ../data/gui/preferences_window.ui.h:49 msgid "Display _tunes of contacts in roster" msgstr "Afficher ce que mes contacts écoutent" -#: ../data/gui/preferences_window.ui.h:51 +#: ../data/gui/preferences_window.ui.h:50 msgid "Display a_vatars of contacts in roster" msgstr "Afficher l'a_vatar des contacts dans la liste des contacts" -#: ../data/gui/preferences_window.ui.h:52 +#: ../data/gui/preferences_window.ui.h:51 msgid "Display m_ood of contacts in roster" msgstr "Afficher l'humeur des contacts dans la liste des contacts" -#: ../data/gui/preferences_window.ui.h:53 +#: ../data/gui/preferences_window.ui.h:52 msgid "Display status _messages of contacts in roster" msgstr "Afficher les _messages d'état des contacts dans la liste des contacts" +#: ../data/gui/preferences_window.ui.h:53 +msgid "" +"Gajim can send and receive meta-information related to a conversation you " +"may have with a contact. Here you can specify which chatstates you want to " +"display in chat windows." +msgstr "" +"Gajim peut envoyer et recevoir des méta-informations durant les " +"conversations que vous pouvez avoir avec un contact. Vous pouvez ici " +"spécifier quels états de conversation vous voulez envoyer à vos contacts." + #: ../data/gui/preferences_window.ui.h:54 -msgid "Gajim can send and receive meta-information related to a conversation you may have with a contact. Here you can specify which chatstates you want to display in chat windows." -msgstr "Gajim peut envoyer et recevoir des méta-informations durant les conversations que vous pouvez avoir avec un contact. Vous pouvez ici spécifier quels états de conversation vous voulez envoyer à vos contacts." +msgid "" +"Gajim can send and receive meta-information related to a conversation you " +"may have with a contact. Here you can specify which chatstates you want to " +"send to the other party." +msgstr "" +"Gajim peut envoyer et recevoir des meta-informations concernant les " +"conversations que vous pouvez avoir avec un contact. Vous pouvez ici " +"spécifier quel état de conversation vous voulez envoyer à vos contacts." #: ../data/gui/preferences_window.ui.h:55 -msgid "Gajim can send and receive meta-information related to a conversation you may have with a contact. Here you can specify which chatstates you want to send to the other party." -msgstr "Gajim peut envoyer et recevoir des meta-informations concernant les conversations que vous pouvez avoir avec un contact. Vous pouvez ici spécifier quel état de conversation vous voulez envoyer à vos contacts." +msgid "" +"Gajim will notify you via a popup window in the bottom right of the screen " +"about contacts that just signed out" +msgstr "" +"Gajim vous signalera par une fenêtre de notification en bas à droite de " +"l'écran qu'un contact s'est déconnecté" -#: ../data/gui/preferences_window.ui.h:56 -msgid "Gajim will notify you via a popup window in the bottom right of the screen about contacts that just signed out" -msgstr "Gajim vous signalera par une fenêtre de notification en bas à droite de l'écran qu'un contact s'est déconnecté" - -#: ../data/gui/preferences_window.ui.h:58 +#: ../data/gui/preferences_window.ui.h:57 msgid "Hide all buttons in chat windows" msgstr "Cacher tous les boutons dans les fenêtres de conversations" +#: ../data/gui/preferences_window.ui.h:58 +msgid "" +"If checked, Gajim will allow others to detect the operation system you are " +"using" +msgstr "" +"Si cette case est cochée, Gajim autorisera les autres à détecter le système " +"d'exploitation que vous utilisez" + #: ../data/gui/preferences_window.ui.h:59 -msgid "If checked, Gajim will allow others to detect the operation system you are using" -msgstr "Si cette case est cochée, Gajim autorisera les autres à détecter le système d'exploitation que vous utilisez" +msgid "" +"If checked, Gajim will also include information about the sender of the new " +"emails" +msgstr "" +"Si cette case est cochée, Gajim affichera également des informations à " +"propos de l'expéditeur des nouveaux courriels" #: ../data/gui/preferences_window.ui.h:60 -msgid "If checked, Gajim will also include information about the sender of the new emails" -msgstr "Si cette case est cochée, Gajim affichera également des informations à propos de l'expéditeur des nouveaux courriels" +msgid "" +"If checked, Gajim will change status to Away when the computer is unused." +msgstr "" +"Si cette case est cochée, Gajim changera votre statut en Absent(e) quand " +"l'ordinateur est inutilisé." #: ../data/gui/preferences_window.ui.h:61 -msgid "If checked, Gajim will change status to Away when the computer is unused." -msgstr "Si cette case est cochée, Gajim changera votre statut en Absent(e) quand l'ordinateur est inutilisé." +msgid "" +"If checked, Gajim will change status to Not Available when the computer has " +"not been used even longer" +msgstr "" +"Si cette case est cochée, Gajim changera votre statut en Non disponible " +"quand l'ordinateur n'a pas été utilisé pendant une plus longue période" #: ../data/gui/preferences_window.ui.h:62 -msgid "If checked, Gajim will change status to Not Available when the computer has not been used even longer" -msgstr "Si cette case est cochée, Gajim changera votre statut en Non disponible quand l'ordinateur n'a pas été utilisé pendant une plus longue période" +msgid "" +"If checked, Gajim will display avatars of contacts in roster window and in " +"group chats" +msgstr "" +"Si cette case est cochée, Gajim affichera l'avatar de chaque contact dans la " +"fenêtre principale et les salons" #: ../data/gui/preferences_window.ui.h:63 -msgid "If checked, Gajim will display avatars of contacts in roster window and in group chats" -msgstr "Si cette case est cochée, Gajim affichera l'avatar de chaque contact dans la fenêtre principale et les salons" +msgid "" +"If checked, Gajim will display status messages of contacts under the contact " +"name in roster window and in group chats" +msgstr "" +"Si cette case est cochée, Gajim affichera le message d'état, sous le nom de " +"chaque contact dans la fenêtre principale et les salons" #: ../data/gui/preferences_window.ui.h:64 -msgid "If checked, Gajim will display status messages of contacts under the contact name in roster window and in group chats" -msgstr "Si cette case est cochée, Gajim affichera le message d'état, sous le nom de chaque contact dans la fenêtre principale et les salons" +msgid "" +"If checked, Gajim will display the activity of contacts in the roster window" +msgstr "" +"Si cette case est cochée, Gajim affichera l'activité des contacts dans votre " +"liste des contacts" #: ../data/gui/preferences_window.ui.h:65 -msgid "If checked, Gajim will display the activity of contacts in the roster window" -msgstr "Si cette case est cochée, Gajim affichera l'activité des contacts dans votre liste des contacts" +msgid "" +"If checked, Gajim will display the location of contacts in the roster window" +msgstr "" +"Si cette case est cochée, Gajim affichera la localisation de chaque contact " +"dans votre liste de contacts" #: ../data/gui/preferences_window.ui.h:66 -#, fuzzy -msgid "If checked, Gajim will display the location of contacts in the roster window" -msgstr "Si cette case est cochée, Gajim affichera l'humeur de chaque contact dans votre roster" +msgid "" +"If checked, Gajim will display the mood of contacts in the roster window" +msgstr "" +"Si cette case est cochée, Gajim affichera l'humeur de chaque contact dans " +"votre roster" #: ../data/gui/preferences_window.ui.h:67 -msgid "If checked, Gajim will display the mood of contacts in the roster window" -msgstr "Si cette case est cochée, Gajim affichera l'humeur de chaque contact dans votre roster" +msgid "" +"If checked, Gajim will display the tunes of contacts in the roster window" +msgstr "" +"Si cette case est cochée, Gajim affichera ce que chaque contact écoute dans " +"votre roster" #: ../data/gui/preferences_window.ui.h:68 -msgid "If checked, Gajim will display the tunes of contacts in the roster window" -msgstr "Si cette case est cochée, Gajim affichera ce que chaque contact écoute dans votre roster" +msgid "" +"If checked, Gajim will highlight spelling errors in input fields of chat " +"windows. If no language is explicitly set via right click on the input " +"field, the default language will be used for this contact or group chat." +msgstr "" +"Si cette case est cochée, Gajim soulignera les erreurs d'orthographe dans le " +"champ de saisie des fenêtres de conversation. Si aucune langue n'a été " +"définie explicitement par clique droit sur le champ de saisie, la langue par " +"défaut sera utilisée pour ce contact ou ce salon." #: ../data/gui/preferences_window.ui.h:69 -msgid "If checked, Gajim will highlight spelling errors in input fields of chat windows. If no language is explicitly set via right click on the input field, the default language will be used for this contact or group chat." -msgstr "Si cette case est cochée, Gajim soulignera les erreurs d'orthographe dans le champ de saisie des fenêtres de conversation. Si aucune langue n'a été définie explicitement par clique droit sur le champ de saisie, la langue par défaut sera utilisée pour ce contact ou ce salon." +msgid "" +"If checked, Gajim will ignore incoming events from unauthorized contacts. " +"Use with caution, because it blocks all messages from any contact that is " +"not in the roster" +msgstr "" +"Si cette case est cochée, Gajim ignorera les événements en provenance des " +"contacts non autorisés. Utilisez avec précaution car cela bloque tous les " +"messages provenant des contacts qui ne sont pas dans votre liste" #: ../data/gui/preferences_window.ui.h:70 -msgid "If checked, Gajim will ignore incoming events from unauthorized contacts. Use with caution, because it blocks all messages from any contact that is not in the roster" -msgstr "Si cette case est cochée, Gajim ignorera les événements en provenance des contacts non autorisés. Utilisez avec précaution car cela bloque tous les messages provenant des contacts qui ne sont pas dans votre liste" +msgid "" +"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." +msgstr "" +"Si cette case est cochée, Gajim archivera les conversations chiffrées. " +"Veuillez noter qu'en utilisant une encryption E2E, l'utilisateur distant " +"doit l'accepter, sinon les messages ne seront pas archivés." #: ../data/gui/preferences_window.ui.h:71 -msgid "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." -msgstr "Si cette case est cochée, Gajim archivera les conversations chiffrées. Veuillez noter qu'en utilisant une encryption E2E, l'utilisateur distant doit l'accepter, sinon les messages ne seront pas archivés." +msgid "" +"If checked, Gajim will show a notification when a new e-mail is received via " +"GMail" +msgstr "" +"Si cette case est cochée, Gajim affichera une notification quand un nouveau " +"courriel GMail est reçu" #: ../data/gui/preferences_window.ui.h:72 -msgid "If checked, Gajim will show a notification when a new e-mail is received via GMail" -msgstr "Si cette case est cochée, Gajim affichera une notification quand un nouveau courriel GMail est reçu" +msgid "" +"If checked, Gajim will use protocol-specific status icons. (eg. A contact " +"from MSN will have the equivalent msn icon for status online, away, busy, " +"etc...)" +msgstr "" +"Si cette case est cochée, Gajim utilisera des icônes d'état spécifiques aux " +"protocoles. (Par ex. un contact MSN aura les icônes de MSN pour les états " +"disponible, absent(e), occupé(e), etc.)" #: ../data/gui/preferences_window.ui.h:73 -msgid "If checked, Gajim will use protocol-specific status icons. (eg. A contact from MSN will have the equivalent msn icon for status online, away, busy, etc...)" -msgstr "Si cette case est cochée, Gajim utilisera des icônes d'état spécifiques aux protocoles. (Par ex. un contact MSN aura les icônes de MSN pour les états disponible, absent(e), occupé(e), etc.)" +msgid "" +"If enabled, Gajim will not ask for a status message. The specified default " +"message will be used instead." +msgstr "" +"Si cette case est cochée, Gajim ne demandera pas de message de statut. Le " +"message par défaut sera utilisé à la place." #: ../data/gui/preferences_window.ui.h:74 -msgid "If enabled, Gajim will not ask for a status message. The specified default message will be used instead." -msgstr "Si cette case est cochée, Gajim ne demandera pas de message de statut. Le message par défaut sera utilisé à la place." +msgid "" +"If not disabled, Gajim will replace ascii smilies like ':)' with equivalent " +"animated or static graphical emoticons" +msgstr "" +"Si cette case n'est pas décochée, Gajim va remplacer les émoticônes ASCII " +"comme « :) » par un équivalent graphique statique ou dynamique" #: ../data/gui/preferences_window.ui.h:75 -msgid "If not disabled, Gajim will replace ascii smilies like ':)' with equivalent animated or static graphical emoticons" -msgstr "Si cette case n'est pas décochée, Gajim va remplacer les émoticônes ASCII comme « :) » par un équivalent graphique statique ou dynamique" +msgid "Last state" +msgstr "Dernier état" #: ../data/gui/preferences_window.ui.h:76 msgid "Log _encrypted chat session" @@ -2116,21 +2090,16 @@ msgid "Notify me about contacts that sign _out" msgstr "Me signaler les contacts qui se _déconnectent" #: ../data/gui/preferences_window.ui.h:83 -#, fuzzy msgid "Notify me about it" -msgstr "Me signaler les contacts qui se _déconnectent" +msgstr "Me le signaler" #: ../data/gui/preferences_window.ui.h:84 msgid "Notify on new _GMail email" msgstr "M'avertir lors de l'arrivée d'un courrier électronique _Gmail" #: ../data/gui/preferences_window.ui.h:85 -#, fuzzy msgid "Only when pending events" -msgstr "" -"Jamais\n" -"Seulement lorsqu'il y a des évènements en attente\n" -"Toujours" +msgstr "Seulement lorsqu'il y a des évènements en attente" #: ../data/gui/preferences_window.ui.h:86 msgid "Personal Events" @@ -2142,7 +2111,7 @@ msgstr "_Jouer les sons" #: ../data/gui/preferences_window.ui.h:88 msgid "Pop it up" -msgstr "" +msgstr "Faire surgir un pop up" #: ../data/gui/preferences_window.ui.h:89 msgid "Preferences" @@ -2165,9 +2134,8 @@ msgid "Show notification area icon:" msgstr "Montrer l'icone de la zone de notification :" #: ../data/gui/preferences_window.ui.h:94 -#, fuzzy msgid "Show only in roster" -msgstr "Ne le montrer que dans la _liste" +msgstr "Ne le montrer que dans la liste" #: ../data/gui/preferences_window.ui.h:95 msgid "Sign _in" @@ -2179,17 +2147,21 @@ msgstr "_déconnecte" #: ../data/gui/preferences_window.ui.h:97 msgid "Single window for everything" -msgstr "" +msgstr "Une seule fenêtre pour tout" #: ../data/gui/preferences_window.ui.h:98 -msgid "Some messages may include rich content (formatting, colors etc). If checked, Gajim will just display the raw message text." -msgstr "Certains messages peuvent contenir du texte complexe (formatage, couleurs, etc.). Si activé, Gajim l'affichera seulement en tant que texte non formaté. " +msgid "" +"Some messages may include rich content (formatting, colors etc). If checked, " +"Gajim will just display the raw message text." +msgstr "" +"Certains messages peuvent contenir du texte complexe (formatage, couleurs, " +"etc.). Si activé, Gajim l'affichera seulement en tant que texte non formaté. " #: ../data/gui/preferences_window.ui.h:99 msgid "Sort contacts by status" msgstr "Trier les contacts par état" -#: ../data/gui/preferences_window.ui.h:100 ../src/config.py:391 +#: ../data/gui/preferences_window.ui.h:100 ../src/config.py:400 msgid "Status" msgstr "État" @@ -2207,21 +2179,25 @@ msgstr "T_hème :" #: ../data/gui/preferences_window.ui.h:104 msgid "" -"The auto away status message. If empty, Gajim will not change the current status message\n" +"The auto away status message. If empty, Gajim will not change the current " +"status message\n" "$S will be replaced by previous status message\n" "$T will be replaced by auto-away timeout" msgstr "" -"Le message de statut absent automatique. S'il est vide, Gajim ne changera pas le message de statut courant\n" +"Le message de statut absent automatique. S'il est vide, Gajim ne changera " +"pas le message de statut courant\n" "$S sera remplacé par l'ancien message de statut\n" "$T sera remplacé par le temps d'absence" #: ../data/gui/preferences_window.ui.h:107 msgid "" -"The auto not available status message. If empty, Gajim will not change the current status message\n" +"The auto not available status message. If empty, Gajim will not change the " +"current status message\n" "$S will be replaced by previous status message\n" "$T will be replaced by auto-not-available timeout" msgstr "" -"Le message de statut non-disponible automatique. S'il est vide, Gajim ne changera pas le message de statut courant\n" +"Le message de statut non-disponible automatique. S'il est vide, Gajim ne " +"changera pas le message de statut courant\n" "$S sera remplacé par l'ancien message de statut\n" "$T sera remplacé par le temps de non-activité" @@ -2239,7 +2215,7 @@ msgstr "Utiliser la valeur par _défaut" #: ../data/gui/preferences_window.ui.h:113 msgid "Video framerate" -msgstr "" +msgstr "Images par seconde" #: ../data/gui/preferences_window.ui.h:114 msgid "Video input device" @@ -2247,11 +2223,11 @@ msgstr "Périphérique d'entrée vidéo." #: ../data/gui/preferences_window.ui.h:115 msgid "Video output device" -msgstr "" +msgstr "Périphérique vidéo de sortie" #: ../data/gui/preferences_window.ui.h:116 msgid "Video size" -msgstr "" +msgstr "Taille de la vidéo" #: ../data/gui/preferences_window.ui.h:117 msgid "When new event is received:" @@ -2322,26 +2298,30 @@ msgid "_Send chat state notifications:" msgstr "_Envoyer les notifications d'état :" #: ../data/gui/preferences_window.ui.h:134 +msgid "_Show roster on startup:" +msgstr "Montrer la _liste au démarrage:" + +#: ../data/gui/preferences_window.ui.h:135 msgid "_Status message:" msgstr "Message d'état :" -#: ../data/gui/preferences_window.ui.h:135 +#: ../data/gui/preferences_window.ui.h:136 msgid "_URL highlight:" msgstr "Mise à valeur des _URL :" -#: ../data/gui/preferences_window.ui.h:136 +#: ../data/gui/preferences_window.ui.h:137 msgid "_Window behavior:" msgstr "Comportement de la _fenêtre :" -#: ../data/gui/preferences_window.ui.h:137 +#: ../data/gui/preferences_window.ui.h:138 msgid "in _group chats" msgstr "dans les _salons de discussion" -#: ../data/gui/preferences_window.ui.h:138 +#: ../data/gui/preferences_window.ui.h:139 msgid "in _roster" msgstr "dans le _roster" -#: ../data/gui/preferences_window.ui.h:139 +#: ../data/gui/preferences_window.ui.h:140 msgid "minutes" msgstr "minutes" @@ -2393,7 +2373,7 @@ msgstr "Identifiant Jabber :" msgid "Order:" msgstr "Ordre :" -#: ../data/gui/privacy_list_window.ui.h:12 ../src/dialogs.py:3802 +#: ../data/gui/privacy_list_window.ui.h:12 ../src/dialogs.py:3936 msgid "Privacy List" msgstr "Liste privée" @@ -2462,108 +2442,108 @@ msgid "Company:" msgstr "Entreprise :" #: ../data/gui/profile_window.ui.h:6 -#: ../data/gui/vcard_information_window.ui.h:9 +#: ../data/gui/vcard_information_window.ui.h:10 msgid "Country:" msgstr "Pays :" #: ../data/gui/profile_window.ui.h:7 -#: ../data/gui/vcard_information_window.ui.h:10 +#: ../data/gui/vcard_information_window.ui.h:11 msgid "Department:" msgstr "Département :" #: ../data/gui/profile_window.ui.h:8 -#: ../data/gui/vcard_information_window.ui.h:11 +#: ../data/gui/vcard_information_window.ui.h:12 msgid "E-Mail:" msgstr "Courriel :" #: ../data/gui/profile_window.ui.h:9 -#: ../data/gui/vcard_information_window.ui.h:12 +#: ../data/gui/vcard_information_window.ui.h:13 msgid "Extra Address:" msgstr "Adresse 2 :" #. Family Name #: ../data/gui/profile_window.ui.h:11 -#: ../data/gui/vcard_information_window.ui.h:14 +#: ../data/gui/vcard_information_window.ui.h:15 msgid "Family:" msgstr "Nom de Famille :" #: ../data/gui/profile_window.ui.h:12 -#: ../data/gui/vcard_information_window.ui.h:15 +#: ../data/gui/vcard_information_window.ui.h:16 msgid "Full Name" msgstr "Nom complet" #. Given Name #: ../data/gui/profile_window.ui.h:14 -#: ../data/gui/vcard_information_window.ui.h:17 +#: ../data/gui/vcard_information_window.ui.h:18 msgid "Given:" msgstr "Prénom :" #: ../data/gui/profile_window.ui.h:15 -#: ../data/gui/vcard_information_window.ui.h:18 +#: ../data/gui/vcard_information_window.ui.h:19 msgid "Homepage:" msgstr "Site perso :" #. Middle Name #: ../data/gui/profile_window.ui.h:17 -#: ../data/gui/vcard_information_window.ui.h:21 +#: ../data/gui/vcard_information_window.ui.h:22 msgid "Middle:" msgstr "Deuxième :" #: ../data/gui/profile_window.ui.h:18 -#: ../data/gui/vcard_information_window.ui.h:22 +#: ../data/gui/vcard_information_window.ui.h:23 msgid "Name:" msgstr "Nom :" #: ../data/gui/profile_window.ui.h:19 -#: ../data/gui/vcard_information_window.ui.h:23 +#: ../data/gui/vcard_information_window.ui.h:24 msgid "Nickname:" msgstr "Surnom :" #: ../data/gui/profile_window.ui.h:20 -#: ../data/gui/vcard_information_window.ui.h:24 +#: ../data/gui/vcard_information_window.ui.h:25 msgid "Phone No.:" msgstr "Téléphone :" #: ../data/gui/profile_window.ui.h:21 -#: ../data/gui/vcard_information_window.ui.h:25 +#: ../data/gui/vcard_information_window.ui.h:26 msgid "Position:" msgstr "Position :" #: ../data/gui/profile_window.ui.h:22 -#: ../data/gui/vcard_information_window.ui.h:26 +#: ../data/gui/vcard_information_window.ui.h:27 msgid "Postal Code:" msgstr "Code postal :" #. Prefix in Name #: ../data/gui/profile_window.ui.h:24 -#: ../data/gui/vcard_information_window.ui.h:28 +#: ../data/gui/vcard_information_window.ui.h:29 msgid "Prefix:" msgstr "Préfixe :" #: ../data/gui/profile_window.ui.h:25 -#: ../data/gui/vcard_information_window.ui.h:30 +#: ../data/gui/vcard_information_window.ui.h:31 msgid "Role:" msgstr "Rôle :" #: ../data/gui/profile_window.ui.h:26 -#: ../data/gui/vcard_information_window.ui.h:31 +#: ../data/gui/vcard_information_window.ui.h:32 msgid "State:" msgstr "Région :" #: ../data/gui/profile_window.ui.h:27 -#: ../data/gui/vcard_information_window.ui.h:33 +#: ../data/gui/vcard_information_window.ui.h:34 msgid "Street:" msgstr "Rue :" #. Suffix in Name #: ../data/gui/profile_window.ui.h:29 -#: ../data/gui/vcard_information_window.ui.h:37 +#: ../data/gui/vcard_information_window.ui.h:38 msgid "Suffix:" msgstr "Suffixe :" #. "About" is the text of a tab of vcard window #: ../data/gui/profile_window.ui.h:31 -#: ../data/gui/vcard_information_window.ui.h:40 +#: ../data/gui/vcard_information_window.ui.h:42 msgid "About" msgstr "À propos" @@ -2572,12 +2552,12 @@ msgid "Click to set your avatar" msgstr "Cliquez pour choisir votre avatar" #: ../data/gui/profile_window.ui.h:33 -#: ../data/gui/vcard_information_window.ui.h:45 +#: ../data/gui/vcard_information_window.ui.h:46 msgid "Format: YYYY-MM-DD" msgstr "Format : AAAA-MM-JJ" #: ../data/gui/profile_window.ui.h:34 -#: ../data/gui/vcard_information_window.ui.h:47 +#: ../data/gui/vcard_information_window.ui.h:48 msgid "Personal Info" msgstr "Informations personnelles" @@ -2600,14 +2580,18 @@ msgstr "Supprimer le compte de Gajim et du _serveur" #. Remove group #. Remove -#: ../data/gui/remove_account_window.ui.h:4 ../src/roster_window.py:5438 -#: ../src/roster_window.py:5564 ../src/roster_window.py:5694 +#: ../data/gui/remove_account_window.ui.h:4 ../src/roster_window.py:5630 +#: ../src/roster_window.py:5755 ../src/roster_window.py:5885 msgid "_Remove" msgstr "_Supprimer" #: ../data/gui/roster_item_exchange_window.ui.h:1 -msgid "someone@somewhere.com would like you to add some contacts in your roster." -msgstr "quelqu'un@quelquepart.com aimerait que vous ajoutiez quelques contacts à votre roster." +msgid "" +"someone@somewhere.com would like you to add some contacts in " +"your roster." +msgstr "" +"quelqu'un@quelquepart.com aimerait que vous ajoutiez quelques " +"contacts à votre roster." #: ../data/gui/roster_item_exchange_window.ui.h:2 msgid "Message Body " -#: ../src/common/connection.py:1248 +#: ../src/common/connection.py:1280 #, python-format msgid "" "\n" @@ -4467,61 +4963,65 @@ msgstr "" "\n" "Erreur SSL inconnue : %d" -#: ../src/common/connection.py:1297 +#: ../src/common/connection.py:1333 msgid "Check your connection or try again later" msgstr "Vérifiez votre connexion ou réessayer plus tard" -#: ../src/common/connection.py:1329 +#: ../src/common/connection.py:1367 #, python-format msgid "Authentication failed with \"%s\"" msgstr "Echec de l'authentification avec \"%s\"" -#: ../src/common/connection.py:1331 +#: ../src/common/connection.py:1369 msgid "Please check your login and password for correctness." msgstr "Vérifiez si votre identifiant et votre mot de passe sont corrects." -#: ../src/common/connection.py:1400 +#: ../src/common/connection.py:1442 msgid "Error while removing privacy list" msgstr "Une erreur s'est produite pendant la suppression de la liste privée" -#: ../src/common/connection.py:1401 +#: ../src/common/connection.py:1443 #, python-format -msgid "Privacy list %s has not been removed. It is maybe active in one of your connected resources. Deactivate it and try again." -msgstr "La liste privée %s n'a pas été supprimée. Elle est peut-être active dans une des ressources connectées. Désactivez la et réessayez." +msgid "" +"Privacy list %s has not been removed. It is maybe active in one of your " +"connected resources. Deactivate it and try again." +msgstr "" +"La liste privée %s n'a pas été supprimée. Elle est peut-être active dans une " +"des ressources connectées. Désactivez la et réessayez." -#: ../src/common/connection.py:1658 +#: ../src/common/connection.py:1808 #, python-format msgid "Sent contact: \"%s\" (%s)" msgstr "Contact envoyé : « %s » (%s)" -#: ../src/common/connection.py:1661 +#: ../src/common/connection.py:1811 msgid "Sent contacts:" msgstr "Contacts envoyés :" -#: ../src/common/connection.py:1807 ../src/common/connection.py:1830 +#: ../src/common/connection.py:1958 ../src/common/connection.py:1981 msgid "Not fetched because of invisible status" msgstr "Non récupéré à cause du statut invisible" -#: ../src/common/connection.py:2262 +#: ../src/common/connection.py:2511 msgid "Unregister failed" msgstr "La désinscription a échoué" -#: ../src/common/connection.py:2263 +#: ../src/common/connection.py:2512 #, python-format msgid "Unregistration with server %(server)s failed: %(error)s" msgstr "Le désabonnement du server %(server)s a échoué : %(error)s" -#: ../src/common/contacts.py:135 ../src/common/helpers.py:57 -#: ../src/gui_interface.py:551 +#: ../src/common/contacts.py:135 ../src/common/helpers.py:60 +#: ../src/gui_interface.py:505 msgid "Observers" msgstr "Observateurs" #: ../src/common/contacts.py:139 ../src/common/contacts.py:366 -#: ../src/common/helpers.py:57 ../src/disco.py:120 ../src/disco.py:121 -#: ../src/disco.py:1517 ../src/roster_window.py:854 -#: ../src/roster_window.py:1545 ../src/roster_window.py:1626 -#: ../src/roster_window.py:1628 ../src/roster_window.py:1790 -#: ../src/roster_window.py:2466 +#: ../src/common/helpers.py:60 ../src/disco.py:120 ../src/disco.py:121 +#: ../src/disco.py:1517 ../src/roster_window.py:856 +#: ../src/roster_window.py:1557 ../src/roster_window.py:1645 +#: ../src/roster_window.py:1647 ../src/roster_window.py:1809 +#: ../src/roster_window.py:2490 msgid "Transports" msgstr "Passerelles" @@ -4529,8 +5029,8 @@ msgstr "Passerelles" msgid "Not in roster" msgstr "Pas dans la liste" -#. only say that to non Windows users # Traduction moins mauvaise mais pas terrible: binding=lier, attacher +#. only say that to non Windows users #: ../src/common/dbus_support.py:40 msgid "D-Bus python bindings are missing in this computer" msgstr "La passerelle python - D-Bus n'est pas installée sur cet ordinateur" @@ -4545,14 +5045,16 @@ msgid "D-Bus does not run correctly on this machine" msgstr "D-Bus n'est pas correctement lancé sur cette machine" #: ../src/common/dbus_support.py:54 -#, fuzzy msgid "D-Bus does not run correctly on this machine: system bus not present" -msgstr "D-Bus n'est pas correctement lancé sur cette machine" +msgstr "" +"D-Bus n'est pas correctement lancé sur cette machine : le bus de session " +"n'est pas disponible" #: ../src/common/dbus_support.py:57 -#, fuzzy msgid "D-Bus does not run correctly on this machine: session bus not present" -msgstr "D-Bus n'est pas correctement lancé sur cette machine" +msgstr "" +"D-Bus n'est pas correctement lancé sur cette machine : le bus de session " +"n'est pas disponible" #: ../src/common/exceptions.py:45 msgid "Database cannot be read." @@ -4560,29 +5062,30 @@ msgstr "La base de donnée ne peut être lue." #: ../src/common/exceptions.py:56 msgid "Service not available: Gajim is not running, or remote_control is False" -msgstr "Service indisponible : Gajim n'est pas lancé ou remote_control est False" +msgstr "" +"Service indisponible : Gajim n'est pas lancé ou remote_control est False" -#: ../src/common/exceptions.py:67 +#: ../src/common/exceptions.py:67 ../src/gajim-remote.py:55 msgid "D-Bus is not present on this machine or python module is missing" msgstr "D-Bus n'est pas présent sur cette machine" #: ../src/common/exceptions.py:78 -#, fuzzy, python-format +#, python-format msgid "" "Session bus is not available.\n" "Try reading %(url)s" msgstr "" "Le bus de session n'est pas disponible.\n" -"Essayer en lisant http://trac.gajim.org/wiki/GajimDBus" +"Essayer en lisant %(url)s" #: ../src/common/exceptions.py:90 -#, fuzzy, python-format +#, python-format msgid "" "System bus is not available.\n" "Try reading %(url)s" msgstr "" "Le bus de session n'est pas disponible.\n" -"Essayer en lisant http://trac.gajim.org/wiki/GajimDBus" +"Essayer en lisant %(url)s" #: ../src/common/fuzzyclock.py:38 msgid "twelve" @@ -4632,8 +5135,7 @@ msgstr "dix" msgid "eleven" msgstr "onze" -#. Strings to use for the output. %(0)s will be replaced with the preceding -#. hour +#. Strings to use for the output. %(0)s will be replaced with the preceding hour #. (e.g. "x PAST %(0)s"), %(1)s with the coming hour (e.g. "x TO %(0)s"). ''' #: ../src/common/fuzzyclock.py:44 #, python-format @@ -4748,265 +5250,271 @@ msgstr "Fin de la semaine" msgid "Weekend!" msgstr "Fin de semaine !" -#: ../src/common/helpers.py:148 +#: ../src/common/helpers.py:151 msgid "Username must be between 1 and 1023 chars" -msgstr "" +msgstr "Le nom d'utilisateur doit comprendre entre 1 et 1023 caractères" -#: ../src/common/helpers.py:153 +#: ../src/common/helpers.py:156 msgid "Invalid character in username." msgstr "Caractère non valide dans le nom d'utilisateur." -#: ../src/common/helpers.py:159 +#: ../src/common/helpers.py:162 msgid "Server must be between 1 and 1023 chars" -msgstr "" +msgstr "Le nom de serveur doit comprendre entre 1 et 1023 caractères" -#: ../src/common/helpers.py:164 +#: ../src/common/helpers.py:167 msgid "Invalid character in hostname." msgstr "Caractère non valide dans le nom d'hôte." -#: ../src/common/helpers.py:166 +#: ../src/common/helpers.py:169 msgid "Server address required." msgstr "Adresse du serveur requise." -#: ../src/common/helpers.py:170 +#: ../src/common/helpers.py:173 msgid "Resource must be between 1 and 1023 chars" -msgstr "" +msgstr "La ressource doit comprendre entre 1 et 1023 caractères" -#: ../src/common/helpers.py:175 +#: ../src/common/helpers.py:178 msgid "Invalid character in resource." msgstr "Caractère non valide dans la ressource." -#: ../src/common/helpers.py:215 +#: ../src/common/helpers.py:218 msgid "_Busy" msgstr "O_ccupé(e)" -#: ../src/common/helpers.py:217 ../src/tooltips.py:195 +#: ../src/common/helpers.py:220 ../src/tooltips.py:195 msgid "Busy" msgstr "Occupé(e)" -#: ../src/common/helpers.py:220 +#: ../src/common/helpers.py:223 msgid "_Not Available" msgstr "_Non disponible" -#: ../src/common/helpers.py:225 +#: ../src/common/helpers.py:225 ../src/tooltips.py:197 +msgid "Not Available" +msgstr "Non disponible" + +#: ../src/common/helpers.py:228 msgid "_Free for Chat" msgstr "Dis_ponible pour discuter" -#: ../src/common/helpers.py:227 ../src/tooltips.py:191 +#: ../src/common/helpers.py:230 ../src/tooltips.py:191 msgid "Free for Chat" msgstr "Disponible pour discuter" -#: ../src/common/helpers.py:230 -#, fuzzy +#: ../src/common/helpers.py:233 msgid "?user status:_Available" -msgstr "?transfer status:En pause" +msgstr "?user status:_Disponible" -#: ../src/common/helpers.py:232 ../src/tooltips.py:189 -#, fuzzy +#: ../src/common/helpers.py:235 ../src/tooltips.py:189 msgid "?user status:Available" -msgstr "?transfer status:En pause" +msgstr "?user status:Disponible" -#: ../src/common/helpers.py:234 +#: ../src/common/helpers.py:237 msgid "Connecting" msgstr "Connexion" -#: ../src/common/helpers.py:237 +#: ../src/common/helpers.py:240 msgid "A_way" msgstr "_Absent(e)" -#: ../src/common/helpers.py:242 +#: ../src/common/helpers.py:245 msgid "_Offline" msgstr "Déc_onnecté(e)" -#: ../src/common/helpers.py:244 ../src/tooltips.py:199 +#: ../src/common/helpers.py:247 ../src/tooltips.py:199 msgid "Offline" msgstr "Déconnecté(e)" -#: ../src/common/helpers.py:247 +#: ../src/common/helpers.py:250 msgid "_Invisible" msgstr "_Invisible" -#: ../src/common/helpers.py:253 +#: ../src/common/helpers.py:252 +msgid "Invisible" +msgstr "Invisible" + +#: ../src/common/helpers.py:256 msgid "?contact has status:Unknown" msgstr "Inconnu" -#: ../src/common/helpers.py:255 +#: ../src/common/helpers.py:258 msgid "?contact has status:Has errors" msgstr "en erreur" -#: ../src/common/helpers.py:260 +#: ../src/common/helpers.py:263 msgid "?Subscription we already have:None" msgstr "Aucune" -#: ../src/common/helpers.py:262 +#: ../src/common/helpers.py:265 msgid "To" msgstr "À" -#: ../src/common/helpers.py:264 +#: ../src/common/helpers.py:267 msgid "From" msgstr "De" -#: ../src/common/helpers.py:266 +#: ../src/common/helpers.py:269 msgid "Both" msgstr "Les deux" -#: ../src/common/helpers.py:274 +#: ../src/common/helpers.py:277 msgid "?Ask (for Subscription):None" msgstr "Aucune" -#: ../src/common/helpers.py:276 +#: ../src/common/helpers.py:279 msgid "Subscribe" msgstr "S'inscrire" -#: ../src/common/helpers.py:285 +#: ../src/common/helpers.py:288 msgid "?Group Chat Contact Role:None" msgstr "Aucun" -#: ../src/common/helpers.py:288 +#: ../src/common/helpers.py:291 msgid "Moderators" msgstr "Modérateurs" -#: ../src/common/helpers.py:290 +#: ../src/common/helpers.py:293 msgid "Moderator" msgstr "Modérateur" -#: ../src/common/helpers.py:293 +#: ../src/common/helpers.py:296 msgid "Participants" msgstr "Participants" -#: ../src/common/helpers.py:295 +#: ../src/common/helpers.py:298 msgid "Participant" msgstr "Participant" -#: ../src/common/helpers.py:298 +#: ../src/common/helpers.py:301 msgid "Visitors" msgstr "Visiteurs" -#: ../src/common/helpers.py:300 +#: ../src/common/helpers.py:303 msgid "Visitor" msgstr "Visiteur" -#: ../src/common/helpers.py:306 ../src/tooltips.py:210 +#: ../src/common/helpers.py:309 ../src/tooltips.py:210 msgid "?Group Chat Contact Affiliation:None" msgstr "?Group Chat Contact Affiliation:Aucune" -#: ../src/common/helpers.py:308 ../src/tooltips.py:216 +#: ../src/common/helpers.py:311 ../src/tooltips.py:216 msgid "Owner" msgstr "Propriétaire" -#: ../src/common/helpers.py:310 ../src/tooltips.py:214 +#: ../src/common/helpers.py:313 ../src/tooltips.py:214 msgid "Administrator" msgstr "Administrateur" -#: ../src/common/helpers.py:312 ../src/tooltips.py:212 +#: ../src/common/helpers.py:315 ../src/tooltips.py:212 msgid "Member" msgstr "Membre" -#: ../src/common/helpers.py:351 +#: ../src/common/helpers.py:354 msgid "is paying attention to the conversation" msgstr "prête attention à la conversation" -#: ../src/common/helpers.py:353 +#: ../src/common/helpers.py:356 msgid "is doing something else" msgstr "fait quelque chose d'autre" -#: ../src/common/helpers.py:355 +#: ../src/common/helpers.py:358 msgid "is composing a message..." msgstr "écrit un message..." #. paused means he or she was composing but has stopped for a while -#: ../src/common/helpers.py:358 +#: ../src/common/helpers.py:361 msgid "paused composing a message" msgstr "a arrêté d'écrire un message" -#: ../src/common/helpers.py:360 +#: ../src/common/helpers.py:363 msgid "has closed the chat window or tab" msgstr "a fermé la fenêtre ou l'onglet de discussion" #. GiB means gibibyte -#: ../src/common/helpers.py:625 +#: ../src/common/helpers.py:628 #, python-format msgid "%s GiB" msgstr "%s Gio" #. GB means gigabyte -#: ../src/common/helpers.py:628 +#: ../src/common/helpers.py:631 #, python-format msgid "%s GB" msgstr "%s Go" #. MiB means mibibyte -#: ../src/common/helpers.py:632 +#: ../src/common/helpers.py:635 #, python-format msgid "%s MiB" msgstr "%s Mio" #. MB means megabyte -#: ../src/common/helpers.py:635 +#: ../src/common/helpers.py:638 #, python-format msgid "%s MB" msgstr "%s Mo" #. KiB means kibibyte -#: ../src/common/helpers.py:639 +#: ../src/common/helpers.py:642 #, python-format msgid "%s KiB" msgstr "%s Kio" #. KB means kilo bytes -#: ../src/common/helpers.py:642 +#: ../src/common/helpers.py:645 #, python-format msgid "%s KB" msgstr "%s Ko" #. B means bytes -#: ../src/common/helpers.py:645 +#: ../src/common/helpers.py:648 #, python-format msgid "%s B" msgstr "%s o" -#: ../src/common/helpers.py:1108 ../src/common/helpers.py:1115 +#: ../src/common/helpers.py:1099 ../src/common/helpers.py:1106 #, python-format msgid "%d message pending" msgid_plural "%d messages pending" msgstr[0] "%d message en attente" msgstr[1] "%d messages en attente" -#: ../src/common/helpers.py:1121 +#: ../src/common/helpers.py:1112 #, python-format msgid " from room %s" msgstr " du salon %s" -#: ../src/common/helpers.py:1124 ../src/common/helpers.py:1143 +#: ../src/common/helpers.py:1115 ../src/common/helpers.py:1132 #, python-format msgid " from user %s" msgstr "de l'utilisateur %s" -#: ../src/common/helpers.py:1126 +#: ../src/common/helpers.py:1117 #, python-format msgid " from %s" msgstr "de %s" -#: ../src/common/helpers.py:1133 ../src/common/helpers.py:1140 +#: ../src/common/helpers.py:1124 ../src/common/helpers.py:1130 #, python-format msgid "%d event pending" msgid_plural "%d events pending" msgstr[0] "%d évènement en attente" msgstr[1] "%d événements en attente" -#: ../src/common/helpers.py:1173 +#: ../src/common/helpers.py:1162 #, python-format msgid "Gajim - %s" msgstr "Gajim - %s" #: ../src/common/helpers.py:1341 msgid "Hello, I am $name." -msgstr "" +msgstr "Bonjour, je m'appelle $name." #: ../src/common/jingle_rtp.py:107 -#, fuzzy, python-format +#, python-format msgid "%s configuration error" -msgstr "Configuration du salon de discussion" +msgstr "%s erreur de configuration" #: ../src/common/jingle_rtp.py:108 #, python-format @@ -5019,33 +5527,42 @@ msgid "" "Error was:\n" "%s" msgstr "" +"Impossible de configurer %s. Vérifiez votre configuration.\n" +"\n" +"Le pipeline était :\n" +"%s\n" +"\n" +"L'error était :\n" +"%s" #: ../src/common/jingle_rtp.py:205 msgid "GStreamer error" -msgstr "" +msgstr "Erreur GStreamer" #: ../src/common/jingle_rtp.py:206 -#, fuzzy, python-format +#, python-format msgid "" "Error: %s\n" "Debug: %s" -msgstr "Message d'erreur : %s" +msgstr "" +"Message d'erreur : %s\n" +"Debug : %s" #: ../src/common/jingle_rtp.py:335 msgid "audio input" -msgstr "" +msgstr "Entrée audio" #: ../src/common/jingle_rtp.py:338 msgid "audio output" -msgstr "" +msgstr "Sortie audio" #: ../src/common/jingle_rtp.py:381 msgid "video input" -msgstr "" +msgstr "Entrée vidéo" -#: ../src/common/jingle_rtp.py:389 +#: ../src/common/jingle_rtp.py:390 msgid "video output" -msgstr "" +msgstr "Sortie audio" #: ../src/common/latex.py:109 #, python-format @@ -5057,63 +5574,68 @@ msgstr "Erreur en exécutant « %(command)s » : %(error)s" msgid "%s is not a valid loglevel" msgstr "%s n'est pas un loglevel valide" -#: ../src/common/multimedia_helpers.py:37 -#, fuzzy +#: ../src/common/multimedia_helpers.py:39 msgid " Default device" -msgstr "Message par défaut" +msgstr "Périphérique par défaut" #. Test src -#: ../src/common/multimedia_helpers.py:55 -#, fuzzy +#: ../src/common/multimedia_helpers.py:60 msgid "Audio test" -msgstr "Audio / Vidéo" +msgstr "Test audio" #. Auto src #. Auto sink #. Auto src -#: ../src/common/multimedia_helpers.py:58 -#: ../src/common/multimedia_helpers.py:71 -#: ../src/common/multimedia_helpers.py:84 -#: ../src/common/multimedia_helpers.py:101 +#: ../src/common/multimedia_helpers.py:63 +#: ../src/common/multimedia_helpers.py:79 +#: ../src/common/multimedia_helpers.py:93 +#: ../src/common/multimedia_helpers.py:111 msgid "Autodetect" -msgstr "" +msgstr "Autodétection" #. Alsa src #. Alsa sink -#: ../src/common/multimedia_helpers.py:61 -#: ../src/common/multimedia_helpers.py:73 -#, fuzzy, python-format +#: ../src/common/multimedia_helpers.py:66 +#: ../src/common/multimedia_helpers.py:81 +#, python-format msgid "ALSA: %s" -msgstr "Taille : %s" +msgstr "ALSA : %s" + +#. Pulseaudio src +#. Pulseaudio sink +#: ../src/common/multimedia_helpers.py:69 +#: ../src/common/multimedia_helpers.py:83 +#, python-format +msgid "Pulse: %s" +msgstr "Pulse : %s" #. Fake sink #. Fake video output -#: ../src/common/multimedia_helpers.py:69 -#: ../src/common/multimedia_helpers.py:96 +#: ../src/common/multimedia_helpers.py:77 +#: ../src/common/multimedia_helpers.py:105 msgid "Fake audio output" msgstr "" #. Test src -#: ../src/common/multimedia_helpers.py:81 +#: ../src/common/multimedia_helpers.py:90 msgid "Video test" -msgstr "" +msgstr "Test vidéo" #. V4L2 src -#: ../src/common/multimedia_helpers.py:86 +#: ../src/common/multimedia_helpers.py:95 #, python-format msgid "V4L2: %s" -msgstr "" +msgstr "V4L2 : %s" -#. Auto sink -#: ../src/common/multimedia_helpers.py:98 +#: ../src/common/multimedia_helpers.py:108 #, python-format msgid "X Window System (X11/XShm/Xv): %s" -msgstr "" +msgstr "X Window System (X11/XShm/Xv): %s" #. ximagesink -#: ../src/common/multimedia_helpers.py:100 +#: ../src/common/multimedia_helpers.py:110 msgid "X Window System (without Xv)" -msgstr "" +msgstr "X Window System (without Xv)" #. we talk about a file #: ../src/common/optparser.py:53 @@ -5762,19 +6284,19 @@ msgstr "Étudie" msgid "Writing" msgstr "Écrit" -#: ../src/common/pep.py:340 +#: ../src/common/pep.py:339 msgid "Unknown Artist" msgstr "Artiste Inconnu" -#: ../src/common/pep.py:343 +#: ../src/common/pep.py:342 msgid "Unknown Title" msgstr "Titre Iconnu" -#: ../src/common/pep.py:346 +#: ../src/common/pep.py:345 msgid "Unknown Source" msgstr "Source Inconnue" -#: ../src/common/pep.py:349 +#: ../src/common/pep.py:348 #, python-format msgid "" "\"%(title)s\" by %(artist)s\n" @@ -5790,19 +6312,27 @@ msgid "Unable to bind to port %s." msgstr "Impossible de débloquer le port %s." #: ../src/common/socks5.py:92 -msgid "Maybe you have another running instance of Gajim. File Transfer will be cancelled." -msgstr "Il se peut qu'une autre instance de Gajim soit en cours d'exécution. Le transfert de fichiers sera annulé." +msgid "" +"Maybe you have another running instance of Gajim. File Transfer will be " +"cancelled." +msgstr "" +"Il se peut qu'une autre instance de Gajim soit en cours d'exécution. Le " +"transfert de fichiers sera annulé." #. we're not english -#: ../src/common/stanza_session.py:423 -msgid "[This is part of an encrypted session. If you see this message, something went wrong.]" -msgstr "[Ceci fait partie d'une session chiffrée. Si vous voyez ce message, un problème a eu lieu.]" +#: ../src/common/stanza_session.py:424 +msgid "" +"[This is part of an encrypted session. If you see this message, something " +"went wrong.]" +msgstr "" +"[Ceci fait partie d'une session chiffrée. Si vous voyez ce message, un " +"problème a eu lieu.]" -#: ../src/common/zeroconf/connection_zeroconf.py:181 +#: ../src/common/zeroconf/connection_zeroconf.py:191 msgid "Avahi error" msgstr "Erreur d'Avahi" -#: ../src/common/zeroconf/connection_zeroconf.py:182 +#: ../src/common/zeroconf/connection_zeroconf.py:192 #, python-format msgid "" "%s\n" @@ -5811,276 +6341,290 @@ msgstr "" "%s\n" "La messagerie en « link-local » pourrait ne pas fonctionner correctement." -#: ../src/common/zeroconf/connection_zeroconf.py:193 +#: ../src/common/zeroconf/connection_zeroconf.py:204 msgid "Please check if Avahi or Bonjour is installed." msgstr "Veuillez vérifier si Avahi ou Bonjour sont installés." -#: ../src/common/zeroconf/connection_zeroconf.py:202 -#: ../src/common/zeroconf/connection_zeroconf.py:206 +#: ../src/common/zeroconf/connection_zeroconf.py:214 +#: ../src/common/zeroconf/connection_zeroconf.py:218 msgid "Could not start local service" msgstr "Impossible de lancer le service local" -#: ../src/common/zeroconf/connection_zeroconf.py:203 +#: ../src/common/zeroconf/connection_zeroconf.py:215 #, python-format msgid "Unable to bind to port %d." msgstr "Impossible de débloquer le port %d." -#: ../src/common/zeroconf/connection_zeroconf.py:207 -#: ../src/common/zeroconf/connection_zeroconf.py:286 -#: ../src/common/zeroconf/connection_zeroconf.py:297 -#: ../src/common/zeroconf/connection_zeroconf.py:311 +#: ../src/common/zeroconf/connection_zeroconf.py:219 +#: ../src/common/zeroconf/connection_zeroconf.py:303 +#: ../src/common/zeroconf/connection_zeroconf.py:316 +#: ../src/common/zeroconf/connection_zeroconf.py:332 msgid "Please check if avahi-daemon is running." msgstr "Vérifiez si avahi-daemon est actif." -#: ../src/common/zeroconf/connection_zeroconf.py:285 -#: ../src/common/zeroconf/connection_zeroconf.py:296 -#: ../src/common/zeroconf/connection_zeroconf.py:310 +#: ../src/common/zeroconf/connection_zeroconf.py:302 +#: ../src/common/zeroconf/connection_zeroconf.py:315 +#: ../src/common/zeroconf/connection_zeroconf.py:331 #, python-format msgid "Could not change status of account \"%s\"" msgstr "Impossible de changer l'état du compte « %s »" -#: ../src/common/zeroconf/connection_zeroconf.py:328 +#: ../src/common/zeroconf/connection_zeroconf.py:353 msgid "Your message could not be sent." msgstr "Votre message n'a pas pu être envoyé." -#. Contact Offline -#: ../src/common/zeroconf/connection_zeroconf.py:338 +#: ../src/common/zeroconf/connection_zeroconf.py:367 msgid "Contact is offline. Your message could not be sent." msgstr "Le destinataire est déconnecté. Votre message n'a pas pu être envoyé." -#: ../src/common/zeroconf/connection_zeroconf.py:363 -msgid "Connection to host could not be established: Timeout while sending data." -msgstr "La connexion à l'hôte n'a pas pu être établie : délai d'envoi des données dépassé" +#: ../src/common/zeroconf/connection_zeroconf.py:395 +msgid "" +"Connection to host could not be established: Timeout while sending data." +msgstr "" +"La connexion à l'hôte n'a pas pu être établie : délai d'envoi des données " +"dépassé" -#: ../src/common/zeroconf/zeroconf_avahi.py:192 +#: ../src/common/zeroconf/zeroconf_avahi.py:193 #: ../src/common/zeroconf/zeroconf_bonjour.py:191 #, python-format msgid "Error while adding service. %s" msgstr "Erreur en ajoutant le service. %s" -#: ../src/config.py:397 +#: ../src/config.py:406 msgid "Default Message" msgstr "Message par défaut" -#: ../src/config.py:406 +#: ../src/config.py:415 msgid "Enabled" msgstr "Activé" -#: ../src/config.py:459 ../src/config.py:463 ../src/config.py:3095 +#: ../src/config.py:468 ../src/config.py:472 ../src/config.py:3105 msgid "Default" msgstr "Par défaut" -#: ../src/config.py:733 ../src/dialogs.py:1409 +#: ../src/config.py:746 ../src/dialogs.py:1493 #, python-format msgid "Dictionary for lang %s not available" msgstr "Le dictionnaire pour la langue %s est indisponible" -#: ../src/config.py:734 +#: ../src/config.py:747 #, python-format -msgid "You have to install %s dictionary to use spellchecking, or choose another language by setting the speller_language option." -msgstr "Vous devez installer le dictionnaire %s pour la vérification orthographique, ou choisir un autre langage en paramétrant l'option speller_language." +msgid "" +"You have to install %s dictionary to use spellchecking, or choose another " +"language by setting the speller_language option." +msgstr "" +"Vous devez installer le dictionnaire %s pour la vérification orthographique, " +"ou choisir un autre langage en paramétrant l'option speller_language." -#: ../src/config.py:1214 +#: ../src/config.py:1223 msgid "status message title" msgstr "titre du message d'état" -#: ../src/config.py:1214 +#: ../src/config.py:1223 msgid "status message text" msgstr "texte du message d'état :" #. Name column -#: ../src/config.py:1514 ../src/dialogs.py:2399 ../src/dialogs.py:2465 -#: ../src/dialogs.py:3231 ../src/disco.py:884 ../src/disco.py:1744 -#: ../src/disco.py:2048 ../src/history_window.py:90 +#: ../src/config.py:1523 ../src/dialogs.py:2498 ../src/dialogs.py:2565 +#: ../src/dialogs.py:3352 ../src/disco.py:886 ../src/disco.py:1744 +#: ../src/disco.py:2046 ../src/history_window.py:90 msgid "Name" msgstr "Nom" -#: ../src/config.py:1609 +#: ../src/config.py:1618 msgid "Relogin now?" msgstr "Reconnecter maintenant ?" -#: ../src/config.py:1610 +#: ../src/config.py:1619 msgid "If you want all the changes to apply instantly, you must relogin." -msgstr "Si vous voulez que vos changements soit appliqués immédiatement, vous devez vous reconnecter." +msgstr "" +"Si vous voulez que vos changements soit appliqués immédiatement, vous devez " +"vous reconnecter." -#: ../src/config.py:1764 ../src/config.py:1893 +#: ../src/config.py:1773 ../src/config.py:1902 msgid "OpenPGP is not usable on this computer" msgstr "OpenPGP n'est pas utilisable sur cet ordinateur" -#: ../src/config.py:1933 ../src/config.py:1980 +#: ../src/config.py:1942 ../src/config.py:1989 msgid "Unread events" msgstr "Événements non lus" -#: ../src/config.py:1934 +#: ../src/config.py:1943 msgid "Read all pending events before removing this account." msgstr "Lisez tous les événements avant de supprimer ce compte." -#: ../src/config.py:1963 +#: ../src/config.py:1972 #, python-format msgid "You have opened chat in account %s" msgstr "Vous avez une conversation ouverte dans le compte %s" -#: ../src/config.py:1964 +#: ../src/config.py:1973 msgid "All chat and groupchat windows will be closed. Do you want to continue?" -msgstr "Toutes les fenêtres de conversation et de salons de discussion seront fermées. Voulez-vous continuer ?" +msgstr "" +"Toutes les fenêtres de conversation et de salons de discussion seront " +"fermées. Voulez-vous continuer ?" -#: ../src/config.py:1976 ../src/config.py:2511 ../src/config.py:2547 +#: ../src/config.py:1985 ../src/config.py:2521 ../src/config.py:2557 msgid "You are currently connected to the server" msgstr "Vous êtes actuellement connecté au serveur" -#: ../src/config.py:1977 +#: ../src/config.py:1986 msgid "To change the account name, you must be disconnected." msgstr "Pour changer le nom du compte, vous devez être déconnecté." -#: ../src/config.py:1981 +#: ../src/config.py:1990 msgid "To change the account name, you must read all pending events." msgstr "Pour changer le nom du compte, vous devez lire tous ses événements." -#: ../src/config.py:1987 +#: ../src/config.py:1996 msgid "Account Name Already Used" msgstr "Nom de Compte déjà utilisé" -#: ../src/config.py:1988 -msgid "This name is already used by another of your accounts. Please choose another name." -msgstr "Ce nom est déjà utilisé par un autre de vos comptes. Choisissez un autre nom." +#: ../src/config.py:1997 +msgid "" +"This name is already used by another of your accounts. Please choose another " +"name." +msgstr "" +"Ce nom est déjà utilisé par un autre de vos comptes. Choisissez un autre nom." -#: ../src/config.py:1992 ../src/config.py:1996 +#: ../src/config.py:2001 ../src/config.py:2005 msgid "Invalid account name" msgstr "Nom de compte invalide" -#: ../src/config.py:1993 +#: ../src/config.py:2002 msgid "Account name cannot be empty." msgstr "Le nom du compte ne peut pas être vide." -#: ../src/config.py:1997 +#: ../src/config.py:2006 msgid "Account name cannot contain spaces." msgstr "Le nom du compte ne peut pas contenir d'espaces." -#: ../src/config.py:2074 +#: ../src/config.py:2083 msgid "Rename Account" msgstr "Renommer le compte" -#: ../src/config.py:2075 +#: ../src/config.py:2084 #, python-format msgid "Enter a new name for account %s" msgstr "Entrez un nouveau nom pour le compte %s" -#: ../src/config.py:2103 +#: ../src/config.py:2112 msgid "A Jabber ID must be in the form \"user@servername\"." msgstr "Un Identifiant Jabber doit être de la forme \"user@servername\"." -#: ../src/config.py:2320 ../src/config.py:3623 +#: ../src/config.py:2329 ../src/config.py:3654 msgid "Invalid entry" msgstr "Entrée invalide" -#: ../src/config.py:2321 ../src/config.py:3624 +#: ../src/config.py:2330 ../src/config.py:3655 msgid "Custom port must be a port number." msgstr "Le port personnalisé doit être un numéro de port" -#: ../src/config.py:2342 +#: ../src/config.py:2351 msgid "Failed to get secret keys" msgstr "Erreur en récupérant les clés secrètes" -#: ../src/config.py:2343 +#: ../src/config.py:2352 msgid "There is no OpenPGP secret key available." msgstr "Aucune clef OpenPGP disponible." -#: ../src/config.py:2377 +#: ../src/config.py:2386 msgid "OpenPGP Key Selection" msgstr "Sélection d'une clé OpenPGP" -#: ../src/config.py:2378 +#: ../src/config.py:2387 msgid "Choose your OpenPGP key" msgstr "Choisissez votre clé OpenPGP" -#: ../src/config.py:2385 +#: ../src/config.py:2394 msgid "No such account available" msgstr "Compte non disponible" -#: ../src/config.py:2386 +#: ../src/config.py:2395 msgid "You must create your account before editing your personal information." msgstr "Vous devez d'abord créer votre compte avant d'éditer vos informations." -#: ../src/config.py:2393 ../src/dialogs.py:2152 ../src/dialogs.py:2387 -#: ../src/dialogs.py:2573 ../src/disco.py:512 ../src/profile_window.py:340 +#: ../src/config.py:2402 ../src/dialogs.py:2251 ../src/dialogs.py:2487 +#: ../src/dialogs.py:2675 ../src/disco.py:515 ../src/profile_window.py:361 msgid "You are not connected to the server" msgstr "Vous n'êtes pas connecté au serveur" -#: ../src/config.py:2394 +#: ../src/config.py:2403 msgid "Without a connection, you can not edit your personal information." msgstr "Vous devez être connecté pour éditer vos informations." -#: ../src/config.py:2398 +#: ../src/config.py:2407 msgid "Your server doesn't support Vcard" msgstr "Votre serveur ne supporte pas les Vcard" -#: ../src/config.py:2399 +#: ../src/config.py:2408 msgid "Your server can't save your personal information." msgstr "Votre serveur ne peut enregistrer d'informations personnelles." -#: ../src/config.py:2512 ../src/config.py:2548 +#: ../src/config.py:2522 ../src/config.py:2558 msgid "To disable the account, you must be disconnected." msgstr "Afin de désactiver un compte vous devez être déconnecté." -#: ../src/config.py:2517 +#: ../src/config.py:2527 msgid "Account Local already exists." msgstr "Ce compte existe déjà localement." -#: ../src/config.py:2518 +#: ../src/config.py:2528 msgid "Please rename or remove it before enabling link-local messaging." -msgstr "Veuillez le renommer et l'enlever avant d'activer la messagerie link-local." +msgstr "" +"Veuillez le renommer et l'enlever avant d'activer la messagerie link-local." -#: ../src/config.py:2675 +#: ../src/config.py:2685 #, python-format msgid "Edit %s" msgstr "_Éditer %s" -#: ../src/config.py:2677 +#: ../src/config.py:2687 #, python-format msgid "Register to %s" msgstr "S'enregistrer à %s" #. list at the beginning -#: ../src/config.py:2713 +#: ../src/config.py:2723 msgid "Ban List" msgstr "Liste des bannis" -#: ../src/config.py:2714 +#: ../src/config.py:2724 msgid "Member List" msgstr "Liste des membres" -#: ../src/config.py:2714 +#: ../src/config.py:2724 msgid "Owner List" msgstr "Liste des propriétaires" -#: ../src/config.py:2715 +#: ../src/config.py:2725 msgid "Administrator List" msgstr "Liste des administrateurs" #. Address column #. holds JID (who said this) -#: ../src/config.py:2779 ../src/disco.py:891 ../src/history_manager.py:201 +#: ../src/config.py:2789 ../src/disco.py:893 ../src/history_manager.py:207 msgid "JID" msgstr "Identifiant Jabber" -#: ../src/config.py:2789 +#: ../src/config.py:2799 msgid "Reason" msgstr "Raison" -#: ../src/config.py:2796 +#: ../src/config.py:2806 msgid "Nick" msgstr "Pseudonyme" -#: ../src/config.py:2802 +#: ../src/config.py:2812 msgid "Role" msgstr "Rôle" -#: ../src/config.py:2829 +#: ../src/config.py:2839 msgid "Banning..." msgstr "Bannissement de ..." #. You can move '\n' before user@domain if that line is TOO BIG -#: ../src/config.py:2831 +#: ../src/config.py:2841 msgid "" "Whom do you want to ban?\n" "\n" @@ -6088,11 +6632,11 @@ msgstr "" "Qui voulez-vous bannir ?\n" "\n" -#: ../src/config.py:2833 +#: ../src/config.py:2843 msgid "Adding Member..." msgstr "Ajout d'un Membre ..." -#: ../src/config.py:2834 +#: ../src/config.py:2844 msgid "" "Whom do you want to make a member?\n" "\n" @@ -6100,11 +6644,11 @@ msgstr "" "De qui voulez-vous faire un membre ?\n" "\n" -#: ../src/config.py:2836 +#: ../src/config.py:2846 msgid "Adding Owner..." msgstr "Ajout d'un Propriétaire ..." -#: ../src/config.py:2837 +#: ../src/config.py:2847 msgid "" "Whom do you want to make an owner?\n" "\n" @@ -6112,11 +6656,11 @@ msgstr "" "De qui voulez-vous faire un possesseur ?\n" "\n" -#: ../src/config.py:2839 +#: ../src/config.py:2849 msgid "Adding Administrator..." msgstr "Ajout d'un Administrateur ..." -#: ../src/config.py:2840 +#: ../src/config.py:2850 msgid "" "Whom do you want to make an administrator?\n" "\n" @@ -6124,7 +6668,7 @@ msgstr "" "De qui voulez-vous faire un administrateur ?\n" "\n" -#: ../src/config.py:2841 +#: ../src/config.py:2851 msgid "" "Can be one of the following:\n" "1. user@domain/resource (only that resource matches).\n" @@ -6137,140 +6681,148 @@ msgstr "" "1. pseudo@domaine/ressource (seulement cette ressource correspond).\n" "2. pseudo@domaine (toutes les ressources correspondent).\n" "3. domaine/ressources (seulement cette ressource correspond).\n" -"4. domaine (le domaine complet correspond, incluant tous les pseudo@domaine,\n" +"4. domaine (le domaine complet correspond, incluant tous les " +"pseudo@domaine,\n" "domaine/ressource, ou les adresses comprenant un sous-domaine)." -#: ../src/config.py:2943 +#: ../src/config.py:2952 #, python-format msgid "Removing %s account" msgstr "Supprimer le compte %s" -#: ../src/config.py:2958 -#, fuzzy +#: ../src/config.py:2967 msgid "Account is disabled" -msgstr "Émoticônes désactivées" +msgstr "Compte désactivé" -#: ../src/config.py:2959 +#: ../src/config.py:2968 msgid "To unregister from a server, account must be enabled." -msgstr "" +msgstr "Pour se désinscrire d'un serveur, le compte doit être activé." -#: ../src/config.py:2972 ../src/gui_interface.py:311 -#: ../src/gui_interface.py:1048 +#: ../src/config.py:2981 ../src/gui_interface.py:269 +#: ../src/gui_interface.py:721 msgid "Password Required" msgstr "Mot de passe requis" -#: ../src/config.py:2973 ../src/gui_interface.py:1028 +#: ../src/config.py:2982 ../src/gui_interface.py:701 #, python-format msgid "Enter your password for account %s" msgstr "Entrez votre mot de passe pour le compte %s" -#: ../src/config.py:2974 ../src/gui_interface.py:1048 +#: ../src/config.py:2983 ../src/gui_interface.py:721 msgid "Save password" msgstr "Enregistrer le mot de passe" -#: ../src/config.py:2984 +#: ../src/config.py:2993 #, python-format msgid "Account \"%s\" is connected to the server" msgstr "Le compte \"%s\" est connecté au serveur" -#: ../src/config.py:2985 +#: ../src/config.py:2994 msgid "If you remove it, the connection will be lost." msgstr "Si vous l'enlevez, la connection sera perdue." -#: ../src/config.py:2999 -#, fuzzy, python-format +#: ../src/config.py:3008 +#, python-format msgid "Connection to server %s failed" -msgstr "La connexion au proxy a échoué" +msgstr "La connexion au serveur %s a échoué" -#: ../src/config.py:3000 -#, fuzzy +#: ../src/config.py:3009 msgid "What would you like to do?" msgstr "Que voulez vous faire ?" -#: ../src/config.py:3001 -#, fuzzy +#: ../src/config.py:3010 msgid "Remove only from Gajim" msgstr "Supprimer le compte de Gajim _uniquement" -#: ../src/config.py:3002 +#: ../src/config.py:3011 msgid "Don't remove anything. I'll try again later" -msgstr "" +msgstr "Ne rien supprimer. Je réessaierai plus tard." -#: ../src/config.py:3095 +#: ../src/config.py:3105 msgid "?print_status:All" msgstr "?print_status:Tout" -#: ../src/config.py:3096 +#: ../src/config.py:3106 msgid "Enter and leave only" msgstr "Entrées et sorties seulement" -#: ../src/config.py:3097 +#: ../src/config.py:3107 msgid "?print_status:None" msgstr "Aucun" -#: ../src/config.py:3167 +#: ../src/config.py:3179 msgid "New Group Chat" msgstr "Créer un salon de discussion" -#: ../src/config.py:3200 +#: ../src/config.py:3212 msgid "This bookmark has invalid data" msgstr "Ce marque-page contient des données invalides" -#: ../src/config.py:3201 -msgid "Please be sure to fill out server and room fields or remove this bookmark." -msgstr "Assurez-vous de remplir les champs serveur et salon ou enlevez ce marque-page" +#: ../src/config.py:3213 +msgid "" +"Please be sure to fill out server and room fields or remove this bookmark." +msgstr "" +"Assurez-vous de remplir les champs serveur et salon ou enlevez ce marque-page" #. invalid char -#: ../src/config.py:3319 ../src/dialogs.py:1950 +#: ../src/config.py:3338 ../src/dialogs.py:2040 msgid "Invalid nickname" msgstr "Nom d'utilisateur invalide" -#: ../src/config.py:3320 ../src/config.py:3334 ../src/config.py:3348 +#: ../src/config.py:3339 ../src/config.py:3350 ../src/config.py:3359 +#: ../src/config.py:3370 ../src/config.py:3378 msgid "Character not allowed" msgstr "Caractère non-autorisé" -#: ../src/config.py:3333 ../src/config.py:3599 +#: ../src/config.py:3350 ../src/config.py:3358 ../src/config.py:3370 +#: ../src/config.py:3630 msgid "Invalid server" msgstr "Serveur invalide" -#: ../src/config.py:3347 +#: ../src/config.py:3377 msgid "Invalid room" msgstr "Salon invalide" -#: ../src/config.py:3515 +#: ../src/config.py:3546 msgid "Account has been added successfully" msgstr "Compte ajouté avec succès" -#: ../src/config.py:3516 ../src/config.py:3522 -msgid "You can set advanced account options by pressing the Advanced button, or later by choosing the Accounts menu item under the Edit menu from the main window." -msgstr "Vous pouvez configurer les options avancées en cliquant sur le bouton Avancé, ou plus tard en cliquant sur Comptes dans le menu Éditer de la fenêtre principale." +#: ../src/config.py:3547 ../src/config.py:3553 +msgid "" +"You can set advanced account options by pressing the Advanced button, or " +"later by choosing the Accounts menu item under the Edit menu from the main " +"window." +msgstr "" +"Vous pouvez configurer les options avancées en cliquant sur le bouton " +"Avancé, ou plus tard en cliquant sur Comptes dans le menu Éditer de la " +"fenêtre principale." -#: ../src/config.py:3521 +#: ../src/config.py:3552 msgid "Your new account has been created successfully" msgstr "Votre nouveau compte a été créé avec succès" -#: ../src/config.py:3560 +#: ../src/config.py:3591 msgid "Invalid username" msgstr "Nom d'utilisateur non valide" -#: ../src/config.py:3562 +#: ../src/config.py:3593 msgid "You must provide a username to configure this account." msgstr "Vous devez entrer un nom d'utilisateur pour configurer ce compte." -#: ../src/config.py:3600 +#: ../src/config.py:3631 msgid "Please provide a server on which you want to register." msgstr "Saisissez un serveur sur lequel vous voulez vous enregistrer." -#: ../src/config.py:3656 ../src/gui_interface.py:1693 +#: ../src/config.py:3687 ../src/gui_interface.py:1199 msgid "Certificate Already in File" msgstr "Certificat déjà dans un Fichier" -#: ../src/config.py:3657 ../src/gui_interface.py:1694 +#: ../src/config.py:3688 ../src/gui_interface.py:1200 #, python-format msgid "This certificate is already in file %s, so it's not added again." msgstr "Ce certificat est déjà dans le fichier %s, il n'a donc pas été ajouté." -#: ../src/config.py:3734 +#: ../src/config.py:3765 #, python-format msgid "" "Security Warning\n" @@ -6285,7 +6837,7 @@ msgstr "" "Erreur SSL  %(error)s\n" "Voulez vous toujours vous connecter au serveur ?" -#: ../src/config.py:3740 ../src/gui_interface.py:1721 +#: ../src/config.py:3771 ../src/gui_interface.py:1228 #, python-format msgid "" "Add this certificate to the list of trusted certificates.\n" @@ -6296,72 +6848,77 @@ msgstr "" "Empreinte digitale SHA1 du certificat :\n" "%s" -#: ../src/config.py:3772 ../src/config.py:3806 +#: ../src/config.py:3803 ../src/config.py:3837 msgid "An error occurred during account creation" msgstr "Une erreur est survenue lors de la création du compte" -#: ../src/config.py:3871 +#: ../src/config.py:3902 msgid "Account name is in use" msgstr "Le nom du compte est utilisé" -#: ../src/config.py:3872 +#: ../src/config.py:3903 msgid "You already have an account using this name." msgstr "Vous avez déjà un compte avec ce nom." -#: ../src/config.py:3991 +#: ../src/config.py:4033 msgid "PEP node was not removed" msgstr "Le nœud PEP n'a pas été supprimé" -#: ../src/config.py:3992 +#: ../src/config.py:4034 #, python-format msgid "PEP node %(node)s was not removed: %(message)s" msgstr "Le nœud PEP %(node)s n'a pas été supprimé : %(message)s" -#: ../src/config.py:4036 +#: ../src/config.py:4062 +#, python-format +msgid "Configure %s" +msgstr "Configurer %s" + +#: ../src/config.py:4078 ../src/plugins/gui.py:73 msgid "Active" msgstr "Actif" -#: ../src/config.py:4044 +#: ../src/config.py:4086 msgid "Event" msgstr "Événement" -#: ../src/config.py:4079 +#: ../src/config.py:4121 msgid "First Message Received" msgstr "Premier message reçu" -#: ../src/config.py:4080 +#: ../src/config.py:4122 msgid "Next Message Received Focused" msgstr "Message Reçu Suivant Avec le Focus." -#: ../src/config.py:4082 +#: ../src/config.py:4124 msgid "Next Message Received Unfocused" msgstr "Message Reçu Suivant Sans le Focus" -#: ../src/config.py:4083 +#: ../src/config.py:4125 msgid "Contact Connected" msgstr "Contact connecté" -#: ../src/config.py:4084 +#: ../src/config.py:4126 msgid "Contact Disconnected" msgstr "Contact déconnecté" -#: ../src/config.py:4085 +#: ../src/config.py:4127 msgid "Message Sent" msgstr "Message envoyé" -#: ../src/config.py:4086 +#: ../src/config.py:4128 msgid "Group Chat Message Highlight" msgstr "Message d'un salon mis en surbrillance" -#: ../src/config.py:4087 +#: ../src/config.py:4129 msgid "Group Chat Message Received" msgstr "Message reçu dans un salon" -#: ../src/config.py:4088 +#: ../src/config.py:4130 msgid "GMail Email Received" msgstr "Courriel Gmail reçu" -#: ../src/conversation_textview.py:601 +#: ../src/conversation_textview.py:603 msgid "" "This icon indicates that this message has not yet\n" "been received by the remote end. If this icon stays\n" @@ -6371,7 +6928,7 @@ msgstr "" "été reçu par le contact distant. Si cette icône reste\n" "pendant un long moment, le message a probablement été perdu." -#: ../src/conversation_textview.py:620 +#: ../src/conversation_textview.py:622 msgid "" "Text below this line is what has been said since the\n" "last time you paid attention to this group chat" @@ -6379,338 +6936,359 @@ msgstr "" "Le texte sous cette règle correspond à ce qui a été dit depuis\n" "la dernière fois que vous avez consulté ce salon de discussion" -#: ../src/conversation_textview.py:740 +#: ../src/conversation_textview.py:742 msgid "_Quote" msgstr "_Citation" -#: ../src/conversation_textview.py:747 +#: ../src/conversation_textview.py:749 #, python-format msgid "_Actions for \"%s\"" msgstr "_Actions pour \"%s\"" -#: ../src/conversation_textview.py:760 +#: ../src/conversation_textview.py:762 msgid "Read _Wikipedia Article" msgstr "Lire l'Article _Wikipédia" -#: ../src/conversation_textview.py:765 +#: ../src/conversation_textview.py:767 msgid "Look it up in _Dictionary" msgstr "Chercher dans le _Dictionnaire" -#: ../src/conversation_textview.py:782 +#: ../src/conversation_textview.py:784 #, python-format msgid "Dictionary URL is missing an \"%s\" and it is not WIKTIONARY" -msgstr "Il manque un \"%s\" dans l'URL du dictionnaire et ce n'est pas WIKTIONARY" +msgstr "" +"Il manque un \"%s\" dans l'URL du dictionnaire et ce n'est pas WIKTIONARY" #. we must have %s in the url -#: ../src/conversation_textview.py:795 +#: ../src/conversation_textview.py:797 #, python-format msgid "Web Search URL is missing an \"%s\"" msgstr "Il manque un \"%s\" dans l'URL de recherche sur Internet" -#: ../src/conversation_textview.py:798 +#: ../src/conversation_textview.py:800 msgid "Web _Search for it" msgstr "_Rechercher sur Internet" -#: ../src/conversation_textview.py:804 +#: ../src/conversation_textview.py:806 msgid "Open as _Link" msgstr "Ouvrir en tant que _lien" #. %i is day in year (1-365) -#: ../src/conversation_textview.py:1298 -#, fuzzy, python-format +#: ../src/conversation_textview.py:1309 +#, python-format msgid "Yesterday" -msgid_plural "%i days ago" -msgstr[0] "Hier" -msgstr[1] "Hier" +msgid_plural "%(nb_days)i days ago" +msgstr[0] "" +msgstr[1] "" #. if we have subject, show it too! -#: ../src/conversation_textview.py:1346 ../src/history_window.py:480 +#: ../src/conversation_textview.py:1358 ../src/history_window.py:480 #, python-format msgid "Subject: %s\n" msgstr "Sujet : %s\n" -#: ../src/dataforms_widget.py:545 -#, fuzzy +#: ../src/dataforms_widget.py:565 msgid "Unable to load image" -msgstr "Impossible de charger le module d'inactivité" +msgstr "Impossible de charger l'image" -#: ../src/dataforms_widget.py:547 -#, fuzzy, python-format +#: ../src/dataforms_widget.py:567 +#, python-format msgid "Media type not supported: %s" -msgstr "Invisibilité non-supportée" +msgstr "Type de média non-supportée : %s" -#: ../src/dataforms_widget.py:562 +#: ../src/dataforms_widget.py:582 msgid "This field is required" -msgstr "" +msgstr "Le champ est requis" -#: ../src/dataforms_widget.py:607 +#: ../src/dataforms_widget.py:627 msgid "Jabber ID already in list" msgstr "Identifiant Jabber déjà existant" -#: ../src/dataforms_widget.py:608 +#: ../src/dataforms_widget.py:628 msgid "The Jabber ID you entered is already in the list. Choose another one." -msgstr "L'identifiant Jabber que vous avez entré est déjà dans la liste. Veuillez en choisir un autre." +msgstr "" +"L'identifiant Jabber que vous avez entré est déjà dans la liste. Veuillez en " +"choisir un autre." #. Default jid -#: ../src/dataforms_widget.py:619 +#: ../src/dataforms_widget.py:639 msgid "new@jabber.id" msgstr "nouveau@jabber.id" -#: ../src/dataforms_widget.py:622 ../src/dataforms_widget.py:624 +#: ../src/dataforms_widget.py:642 ../src/dataforms_widget.py:644 #, python-format msgid "new%d@jabber.id" msgstr "nouveau%d@jabber.id" -#: ../src/dialogs.py:82 +#: ../src/dialogs.py:81 #, python-format msgid "Contact name: %s" msgstr "Nom du contact : %s" -#: ../src/dialogs.py:84 +#: ../src/dialogs.py:83 #, python-format msgid "Jabber ID: %s" msgstr "Identifiant Jabber : %s" -#: ../src/dialogs.py:195 +#: ../src/dialogs.py:197 msgid "Group" msgstr "Groupe" -#: ../src/dialogs.py:202 +#: ../src/dialogs.py:204 msgid "In the group" msgstr "Dans le groupe" -#: ../src/dialogs.py:293 +#: ../src/dialogs.py:295 msgid "KeyID" msgstr "KeyID" -#: ../src/dialogs.py:298 +#: ../src/dialogs.py:300 msgid "Contact name" msgstr "Nom du contact" -#: ../src/dialogs.py:470 +#: ../src/dialogs.py:475 msgid "Set Mood" msgstr "Définir l'Humeur" -#: ../src/dialogs.py:590 +#: ../src/dialogs.py:595 #, python-format msgid "%s Status Message" msgstr "Message d'état %s" -#: ../src/dialogs.py:604 +#: ../src/dialogs.py:609 msgid "Status Message" msgstr "Message d'état" -#: ../src/dialogs.py:794 +#: ../src/dialogs.py:800 msgid "Overwrite Status Message?" msgstr "Remplacer le message de statut ?" -#: ../src/dialogs.py:795 -msgid "This name is already used. Do you want to overwrite this status message?" +#: ../src/dialogs.py:801 +msgid "" +"This name is already used. Do you want to overwrite this status message?" msgstr "Ce nom est déjà utilisé. Voulez vous remplacer ce message de statut ?" -#: ../src/dialogs.py:803 +#: ../src/dialogs.py:809 msgid "Save as Preset Status Message" msgstr "Enregistrer comme messages d'état prédéfini" -#: ../src/dialogs.py:804 +#: ../src/dialogs.py:810 msgid "Please type a name for this status message" msgstr "Tapez un nom pour ce message d'état" -#: ../src/dialogs.py:832 +#: ../src/dialogs.py:838 msgid "AIM Address:" msgstr "Adresse AIM :" -#: ../src/dialogs.py:833 +#: ../src/dialogs.py:839 msgid "GG Number:" msgstr "Numéro GG :" -#: ../src/dialogs.py:834 +#: ../src/dialogs.py:840 msgid "ICQ Number:" msgstr "Numéro ICQ :" -#: ../src/dialogs.py:835 +#: ../src/dialogs.py:841 msgid "MSN Address:" msgstr "Adresse MSN :" -#: ../src/dialogs.py:836 +#: ../src/dialogs.py:842 msgid "Yahoo! Address:" msgstr "Adresse Yahoo! :" -#: ../src/dialogs.py:873 +#: ../src/dialogs.py:879 #, python-format msgid "Please fill in the data of the contact you want to add in account %s" msgstr "Remplissez les informations sur le contact à ajouter au compte %s" -#: ../src/dialogs.py:876 +#: ../src/dialogs.py:882 msgid "Please fill in the data of the contact you want to add" msgstr "Remplissez les informations sur le contact à ajouter" -#: ../src/dialogs.py:1045 ../src/dialogs.py:1051 ../src/dialogs.py:1056 -#: ../src/dialogs.py:3464 +#: ../src/dialogs.py:1074 ../src/dialogs.py:1080 ../src/dialogs.py:1085 +#: ../src/dialogs.py:3585 msgid "Invalid User ID" msgstr "Identifiant utilisateur non valide" -#: ../src/dialogs.py:1052 +#: ../src/dialogs.py:1081 msgid "The user ID must not contain a resource." msgstr "L'identifiant utilisateur ne doit pas contenir de ressource." -#: ../src/dialogs.py:1057 +#: ../src/dialogs.py:1086 msgid "You cannot add yourself to your roster." msgstr "Vous ne pouvez pas vous ajouter à votre propre roster." -#: ../src/dialogs.py:1071 +#: ../src/dialogs.py:1100 msgid "Contact already in roster" msgstr "Contact déjà dans la liste" -#: ../src/dialogs.py:1072 +#: ../src/dialogs.py:1101 msgid "This contact is already listed in your roster." msgstr "Le contact est déjà dans votre liste." -#: ../src/dialogs.py:1118 +#: ../src/dialogs.py:1154 ../src/dialogs.py:1188 msgid "User ID:" msgstr "Identifiant :" -#: ../src/dialogs.py:1189 +#: ../src/dialogs.py:1273 msgid "A GTK+ jabber client" msgstr "Un client Jabber en GTK+" -#: ../src/dialogs.py:1190 +#: ../src/dialogs.py:1274 msgid "GTK+ Version:" msgstr "Version de GTK+ :" -#: ../src/dialogs.py:1191 +#: ../src/dialogs.py:1275 msgid "PyGTK Version:" msgstr "Version de PyGTK :" -#: ../src/dialogs.py:1201 +#: ../src/dialogs.py:1285 msgid "Current Developers:" msgstr "Développeurs actuels :" -#: ../src/dialogs.py:1203 +#: ../src/dialogs.py:1287 msgid "Past Developers:" msgstr "Anciens développeurs :" -#: ../src/dialogs.py:1209 +#: ../src/dialogs.py:1293 msgid "THANKS:" msgstr "MERCI :" #. remove one english sentence #. and add it manually as translatable -#: ../src/dialogs.py:1215 +#: ../src/dialogs.py:1299 msgid "Last but not least, we would like to thank all the package maintainers." msgstr "Pour finir, nous voulons remercier tous les mainteneurs de paquet." #. here you write your name in the form Name FamilyName -#: ../src/dialogs.py:1227 +#: ../src/dialogs.py:1311 msgid "translator-credits" msgstr "" "Yann Le Boulanger \n" "Jonathan Ernst \n" "Florent Le Coz " -#: ../src/dialogs.py:1410 +#: ../src/dialogs.py:1494 #, python-format msgid "" -"You have to install %s dictionary to use spellchecking, or choose another language by setting the speller_language option.\n" +"You have to install %s dictionary to use spellchecking, or choose another " +"language by setting the speller_language option.\n" "\n" "Highlighting misspelled words feature will not be used" msgstr "" -"Vous devez installer le dictionnaire %s pour la vérification orthographique, ou choisir un autre langage en paramétrant l'option speller_language.\n" +"Vous devez installer le dictionnaire %s pour la vérification orthographique, " +"ou choisir un autre langage en paramétrant l'option speller_language.\n" "\n" "Le soulignement des fautes d'orthographe ne sera pas utilisé" -#: ../src/dialogs.py:1951 ../src/dialogs.py:2338 +#: ../src/dialogs.py:1842 +msgid "_Resume" +msgstr "Reprendre" + +#: ../src/dialogs.py:1850 +msgid "Re_place" +msgstr "Remplacer" + +#: ../src/dialogs.py:2041 ../src/dialogs.py:2440 msgid "The nickname has not allowed characters." msgstr "Le pseudonyme contient des caractères non autorisés." -#: ../src/dialogs.py:2069 +#: ../src/dialogs.py:2159 #, python-format msgid "Subscription request for account %(account)s from %(jid)s" msgstr "Requête d'inscription pour le compte %(account)s de la part de %(jid)s" -#: ../src/dialogs.py:2072 +#: ../src/dialogs.py:2162 #, python-format msgid "Subscription request from %s" msgstr "Requête d'inscription de la part de %s" -#: ../src/dialogs.py:2147 ../src/gui_interface.py:2470 +#: ../src/dialogs.py:2246 ../src/gui_interface.py:1948 #, python-format msgid "You are already in group chat %s" msgstr "Vous êtes déjà dans le salon %s" -#: ../src/dialogs.py:2153 +#: ../src/dialogs.py:2252 msgid "You can not join a group chat unless you are connected." -msgstr "Vous ne pouvez joindre un salon de discussion tant que vous n'êtes pas connecté." +msgstr "" +"Vous ne pouvez joindre un salon de discussion tant que vous n'êtes pas " +"connecté." -#: ../src/dialogs.py:2194 +#: ../src/dialogs.py:2296 #, python-format msgid "Join Group Chat with account %s" msgstr "Rejoindre un salon de discussion en tant que %s" -#: ../src/dialogs.py:2325 +#: ../src/dialogs.py:2427 msgid "Invalid Account" msgstr "Compte invalide" -#: ../src/dialogs.py:2326 -msgid "You have to choose an account from which you want to join the groupchat." -msgstr "Vous devez choisir un compte depuis lequel vous souhaitez rejoindre le salon de discussion." +#: ../src/dialogs.py:2428 +msgid "" +"You have to choose an account from which you want to join the groupchat." +msgstr "" +"Vous devez choisir un compte depuis lequel vous souhaitez rejoindre le salon " +"de discussion." -#: ../src/dialogs.py:2337 +#: ../src/dialogs.py:2439 msgid "Invalid Nickname" msgstr "Nom d'utilisateur invalide" -#: ../src/dialogs.py:2342 ../src/dialogs.py:2348 -#: ../src/groupchat_control.py:1847 +#: ../src/dialogs.py:2444 ../src/dialogs.py:2450 +#: ../src/groupchat_control.py:2087 msgid "Invalid group chat Jabber ID" msgstr "Identifiant Jabber de salon invalide" -#: ../src/dialogs.py:2343 +#: ../src/dialogs.py:2445 msgid "Please enter the group chat Jabber ID as room@server." msgstr "Veuillez entrer l'identifiant Jabber du salon, comme salon@serveur" -#: ../src/dialogs.py:2349 ../src/groupchat_control.py:1848 +#: ../src/dialogs.py:2451 ../src/groupchat_control.py:2088 msgid "The group chat Jabber ID has not allowed characters." -msgstr "L'identifiant jabber du salon de discussion contient des caractères interdits." +msgstr "" +"L'identifiant jabber du salon de discussion contient des caractères " +"interdits." -#: ../src/dialogs.py:2356 +#: ../src/dialogs.py:2455 ../src/gui_interface.py:1930 msgid "This is not a group chat" msgstr "Ceci n'est pas une conversation multi-utilisateurs" -#: ../src/dialogs.py:2357 +#: ../src/dialogs.py:2456 ../src/gui_interface.py:1931 #, python-format msgid "%s is not the name of a group chat." msgstr "%s n'est pas un nom de salon de discussion valide" -#: ../src/dialogs.py:2388 +#: ../src/dialogs.py:2488 msgid "Without a connection, you can not synchronise your contacts." msgstr "Sans connexion, vous ne pouvez pas synchroniser vos contacts." -#: ../src/dialogs.py:2402 +#: ../src/dialogs.py:2501 msgid "Server" msgstr "Serveur" -#: ../src/dialogs.py:2437 +#: ../src/dialogs.py:2537 msgid "This account is not connected to the server" msgstr "Ce compte est connecté au serveur" -#: ../src/dialogs.py:2438 +#: ../src/dialogs.py:2538 msgid "You cannot synchronize with an account unless it is connected." -msgstr "Vous ne pouvez pas vous synchroniser avec un compte sauf s'il est connecté." +msgstr "" +"Vous ne pouvez pas vous synchroniser avec un compte sauf s'il est connecté." -#: ../src/dialogs.py:2462 +#: ../src/dialogs.py:2563 msgid "Synchronise" msgstr "Synchroniser" -#: ../src/dialogs.py:2523 +#: ../src/dialogs.py:2624 #, python-format msgid "Start Chat with account %s" msgstr "Commencer une discussion avec le compte %s" -#: ../src/dialogs.py:2525 +#: ../src/dialogs.py:2626 msgid "Start Chat" msgstr "Commencer une discussion" -#: ../src/dialogs.py:2526 +#: ../src/dialogs.py:2627 msgid "" "Fill in the nickname or the Jabber ID of the contact you would like\n" "to send a chat message to:" @@ -6719,355 +7297,337 @@ msgstr "" "envoyer un message :" #. if offline or connecting -#: ../src/dialogs.py:2552 ../src/dialogs.py:2933 ../src/dialogs.py:3145 +#: ../src/dialogs.py:2654 ../src/dialogs.py:3035 ../src/dialogs.py:3265 msgid "Connection not available" msgstr "Connexion non disponible" -#: ../src/dialogs.py:2553 ../src/dialogs.py:2934 ../src/dialogs.py:3146 +#: ../src/dialogs.py:2655 ../src/dialogs.py:3036 ../src/dialogs.py:3266 #, python-format msgid "Please make sure you are connected with \"%s\"." msgstr "Vérifiez que vous êtes connecté avec \"%s\"." -#: ../src/dialogs.py:2562 ../src/dialogs.py:2565 +#: ../src/dialogs.py:2664 ../src/dialogs.py:2667 msgid "Invalid JID" msgstr "Identifiant Jabber invalide" -#: ../src/dialogs.py:2565 +#: ../src/dialogs.py:2667 #, python-format msgid "Unable to parse \"%s\"." msgstr "Impossible d'interpréter \"%s\"." -#: ../src/dialogs.py:2574 +#: ../src/dialogs.py:2676 msgid "Without a connection, you can not change your password." msgstr "Vous devez être connecté pour changer votre mot de passe." -#: ../src/dialogs.py:2593 +#: ../src/dialogs.py:2695 msgid "Invalid password" msgstr "Mot de passe invalide" -#: ../src/dialogs.py:2593 +#: ../src/dialogs.py:2695 msgid "You must enter a password." msgstr "Vous devez entrer un mot de passe." -#: ../src/dialogs.py:2597 +#: ../src/dialogs.py:2699 msgid "Passwords do not match" msgstr "Les mots de passe ne correspondent pas" -#: ../src/dialogs.py:2598 +#: ../src/dialogs.py:2700 msgid "The passwords typed in both fields must be identical." msgstr "Les mots de passe tapés dans chaque champs doivent être identiques." #. default value -#: ../src/dialogs.py:2635 ../src/notify.py:247 ../src/notify.py:473 +#: ../src/dialogs.py:2737 ../src/notify.py:182 ../src/notify.py:419 msgid "Contact Signed In" msgstr "Contact connecté" -#: ../src/dialogs.py:2637 ../src/notify.py:255 ../src/notify.py:475 +#: ../src/dialogs.py:2739 ../src/notify.py:190 ../src/notify.py:421 msgid "Contact Signed Out" msgstr "Contact déconnecté" -#. chat message -#: ../src/dialogs.py:2639 ../src/notify.py:277 ../src/notify.py:477 -msgid "New Message" -msgstr "Nouveau message" - -#. single message -#: ../src/dialogs.py:2639 ../src/notify.py:259 ../src/notify.py:477 -msgid "New Single Message" -msgstr "Nouveau message simple" - -#. private message -#: ../src/dialogs.py:2640 ../src/notify.py:265 ../src/notify.py:478 -msgid "New Private Message" -msgstr "Nouveau message privé" - -#: ../src/dialogs.py:2640 ../src/gui_interface.py:1158 ../src/notify.py:487 +#: ../src/dialogs.py:2742 ../src/gui_interface.py:838 ../src/notify.py:433 msgid "New E-mail" msgstr "Nouveau courrier électronique" -#: ../src/dialogs.py:2642 ../src/gui_interface.py:1217 ../src/notify.py:480 +#: ../src/dialogs.py:2744 ../src/gui_interface.py:893 ../src/notify.py:426 msgid "File Transfer Request" msgstr "Requête de transfert de fichier" -#: ../src/dialogs.py:2644 ../src/gui_interface.py:1120 -#: ../src/gui_interface.py:1186 ../src/notify.py:482 +#: ../src/dialogs.py:2746 ../src/gui_interface.py:800 +#: ../src/gui_interface.py:864 ../src/notify.py:428 msgid "File Transfer Error" msgstr "Erreur de Transfert de fichier" -#: ../src/dialogs.py:2646 ../src/gui_interface.py:1263 -#: ../src/gui_interface.py:1286 ../src/gui_interface.py:1303 -#: ../src/notify.py:484 +#: ../src/dialogs.py:2748 ../src/gui_interface.py:939 +#: ../src/gui_interface.py:962 ../src/gui_interface.py:979 +#: ../src/notify.py:430 msgid "File Transfer Completed" msgstr "Transfert de fichier terminé" -#: ../src/dialogs.py:2647 ../src/gui_interface.py:1266 ../src/notify.py:485 +#: ../src/dialogs.py:2749 ../src/gui_interface.py:942 ../src/notify.py:431 msgid "File Transfer Stopped" msgstr "Transfert de fichier interrompu" -#: ../src/dialogs.py:2649 ../src/gui_interface.py:971 ../src/notify.py:489 +#: ../src/dialogs.py:2751 ../src/gui_interface.py:647 ../src/notify.py:435 msgid "Groupchat Invitation" msgstr "Invitation à un salon" -#: ../src/dialogs.py:2651 ../src/notify.py:239 ../src/notify.py:491 +#: ../src/dialogs.py:2753 ../src/notify.py:174 ../src/notify.py:437 msgid "Contact Changed Status" msgstr "Le contact a changé d'état" -#: ../src/dialogs.py:2852 +#: ../src/dialogs.py:2954 #, python-format msgid "Single Message using account %s" msgstr "Message simple en tant que %s" -#: ../src/dialogs.py:2854 +#: ../src/dialogs.py:2956 #, python-format msgid "Single Message in account %s" msgstr "Message simple dans le compte %s" -#: ../src/dialogs.py:2856 +#: ../src/dialogs.py:2958 msgid "Single Message" msgstr "Message simple" #. prepare UI for Sending -#: ../src/dialogs.py:2859 +#: ../src/dialogs.py:2961 #, python-format msgid "Send %s" msgstr "Envoyer %s" #. prepare UI for Receiving -#: ../src/dialogs.py:2882 +#: ../src/dialogs.py:2984 #, python-format msgid "Received %s" msgstr "%s Reçu" #. prepare UI for Receiving -#: ../src/dialogs.py:2905 +#: ../src/dialogs.py:3007 #, python-format msgid "Form %s" msgstr "De %s" #. we create a new blank window to send and we preset RE: and to jid -#: ../src/dialogs.py:2984 +#: ../src/dialogs.py:3086 #, python-format msgid "RE: %s" msgstr "RE: %s" -#: ../src/dialogs.py:2985 +#: ../src/dialogs.py:3087 #, python-format msgid "%s wrote:\n" msgstr "%s a écrit :\n" -#: ../src/dialogs.py:3044 +#: ../src/dialogs.py:3146 #, python-format msgid "XML Console for %s" msgstr "Console XML pour %s" -#: ../src/dialogs.py:3046 +#: ../src/dialogs.py:3148 msgid "XML Console" msgstr "Console XML" #. Action that can be done with an incoming list of contacts -#: ../src/dialogs.py:3175 -#, fuzzy +#: ../src/dialogs.py:3295 msgid "add" -msgstr "Triste" +msgstr "Ajouter" -#: ../src/dialogs.py:3175 -#, fuzzy +#: ../src/dialogs.py:3295 msgid "modify" msgstr "Modifier" -#: ../src/dialogs.py:3176 -#, fuzzy +#: ../src/dialogs.py:3296 msgid "remove" -msgstr "Suppri_mer" +msgstr "Supprimer" -#: ../src/dialogs.py:3204 -#, fuzzy, python-format -msgid "%(jid)s would like you to %(action)s some contacts in your roster." -msgstr "%s aimerait que vous %s quelques contacts dans votre roster." +#: ../src/dialogs.py:3325 +#, python-format +msgid "" +"%(jid)s would like you to %(action)s some contacts in your " +"roster." +msgstr "" +"%(jid)s aimerait que vous %(action)s quelques contacts dans " +"votre liste." #. Change label for accept_button to action name instead of 'OK'. -#: ../src/dialogs.py:3220 ../src/dialogs.py:3266 +#: ../src/dialogs.py:3341 ../src/dialogs.py:3387 msgid "Add" msgstr "Ajouter" #. Change label for accept_button to action name instead of 'OK'. -#: ../src/dialogs.py:3222 ../src/dialogs.py:3297 +#: ../src/dialogs.py:3343 ../src/dialogs.py:3418 msgid "Modify" msgstr "Modifier" -#: ../src/dialogs.py:3228 +#. Change label for accept_button to action name instead of 'OK'. +#: ../src/dialogs.py:3345 ../src/dialogs.py:3442 +msgid "Delete" +msgstr "Supprimer" + +#: ../src/dialogs.py:3349 msgid "Jabber ID" msgstr "Identifiant Jabber" -#: ../src/dialogs.py:3234 +#: ../src/dialogs.py:3355 msgid "Groups" msgstr "Groupes" #. it is selected #. remote_jid = model[iter_][1].decode('utf-8') -#: ../src/dialogs.py:3342 +#: ../src/dialogs.py:3463 #, python-format msgid "%s suggested me to add you in my roster." msgstr "%s m'a conseillé de vous ajouter à mes contacts." -#: ../src/dialogs.py:3356 -#, fuzzy, python-format +#: ../src/dialogs.py:3477 +#, python-format msgid "Added %s contacts" -msgstr "_Ajouter un contact" +msgstr "%s contacts ajoutés" -#: ../src/dialogs.py:3393 -#, fuzzy, python-format +#: ../src/dialogs.py:3514 +#, python-format msgid "Removed %s contacts" -msgstr "Enlever le contact de la liste" +msgstr "Enlever %s contacts" -#: ../src/dialogs.py:3433 ../src/dialogs.py:3610 +#: ../src/dialogs.py:3554 ../src/dialogs.py:3731 #, python-format msgid "Archiving Preferences for %s" +msgstr "Sauvegarde des préférences pour %s" + +#: ../src/dialogs.py:3594 +msgid "Invalid expire value" msgstr "" -#: ../src/dialogs.py:3473 -#, fuzzy -msgid "Invalid expire value" -msgstr "Nom de serveur invalide" - -#: ../src/dialogs.py:3474 +#: ../src/dialogs.py:3595 msgid "Expire must be a valid positive integer." msgstr "" -#: ../src/dialogs.py:3521 +#: ../src/dialogs.py:3642 msgid "There is an error with the form" msgstr "" -#: ../src/dialogs.py:3732 -#, fuzzy +#: ../src/dialogs.py:3862 msgid "There is an error" msgstr "Le service a renvoyé une erreur." -#: ../src/dialogs.py:3796 +#: ../src/dialogs.py:3930 #, python-format msgid "Privacy List %s" msgstr "Liste privée %s" -#: ../src/dialogs.py:3800 +#: ../src/dialogs.py:3934 #, python-format msgid "Privacy List for %s" msgstr "Liste privée pour %s" -#: ../src/dialogs.py:3856 +#: ../src/dialogs.py:4001 #, python-format msgid "Order: %(order)s, action: %(action)s, type: %(type)s, value: %(value)s" -msgstr "Ordre : %(order)s, action : %(action)s, type : %(type)s, valeur : %(value)s" +msgstr "" +"Ordre : %(order)s, action : %(action)s, type : %(type)s, valeur : %(value)s" -#: ../src/dialogs.py:3861 +#: ../src/dialogs.py:4006 #, python-format msgid "Order: %(order)s, action: %(action)s" msgstr "Ordre : %(order)s, action: %(action)s" -#: ../src/dialogs.py:3905 +#: ../src/dialogs.py:4057 msgid "Edit a rule" msgstr "Modifier une règle" -#: ../src/dialogs.py:4016 +#: ../src/dialogs.py:4168 msgid "Add a rule" msgstr "Ajouter une règle" -#: ../src/dialogs.py:4116 +#: ../src/dialogs.py:4267 #, python-format msgid "Privacy Lists for %s" msgstr "Listes privées pour %s" -#: ../src/dialogs.py:4118 +#: ../src/dialogs.py:4269 msgid "Privacy Lists" msgstr "Listes privées" -#: ../src/dialogs.py:4188 +#: ../src/dialogs.py:4358 msgid "Invalid List Name" msgstr "Nom de liste invalide" -#: ../src/dialogs.py:4189 +#: ../src/dialogs.py:4359 msgid "You must enter a name to create a privacy list." msgstr "Vous devez entrer un nom pour créer une liste privée." -#: ../src/dialogs.py:4221 +#: ../src/dialogs.py:4391 msgid "You are invited to a groupchat" msgstr "Vous êtes invité(e) dans un groupe de discussion" -#: ../src/dialogs.py:4224 +#: ../src/dialogs.py:4394 msgid "$Contact has invited you to join a discussion" msgstr "$Contact vous a invité dans un salon de discussion" -#: ../src/dialogs.py:4226 +#: ../src/dialogs.py:4396 #, python-format msgid "$Contact has invited you to group chat %(room_jid)s" msgstr "$Contact vous a invité dans le salon de discussion %(room_jid)s" -#: ../src/dialogs.py:4234 +#: ../src/dialogs.py:4404 #, python-format msgid "Comment: %s" msgstr "Commentaire : %s" -#: ../src/dialogs.py:4236 +#: ../src/dialogs.py:4406 msgid "Do you want to accept the invitation?" msgstr "Voulez-vous accepter l'invitation ?" -#: ../src/dialogs.py:4298 +#: ../src/dialogs.py:4468 msgid "Choose Client Cert #PCKS12" msgstr "" -#: ../src/dialogs.py:4308 ../src/dialogs.py:4351 ../src/dialogs.py:4407 -#: ../src/dialogs.py:4495 +#: ../src/dialogs.py:4478 ../src/dialogs.py:4520 ../src/dialogs.py:4576 +#: ../src/dialogs.py:4664 msgid "All files" msgstr "Tous les fichiers" -#: ../src/dialogs.py:4313 +#: ../src/dialogs.py:4483 msgid "PKCS12 Files" -msgstr "" +msgstr "Fichier PKCS12" -#: ../src/dialogs.py:4341 +#: ../src/dialogs.py:4510 msgid "Choose Sound" msgstr "Choisissez un son" -#: ../src/dialogs.py:4356 +#: ../src/dialogs.py:4525 msgid "Wav Sounds" msgstr "Sons wav" -#: ../src/dialogs.py:4394 +#: ../src/dialogs.py:4563 msgid "Choose Image" msgstr "Choisissez une Image" -#: ../src/dialogs.py:4412 +#: ../src/dialogs.py:4581 msgid "Images" msgstr "Images" -#: ../src/dialogs.py:4482 +#: ../src/dialogs.py:4651 #, fuzzy msgid "Choose Archive" msgstr "Choisissez une Image" -#: ../src/dialogs.py:4500 +#: ../src/dialogs.py:4669 #, fuzzy msgid "Zip files" msgstr "Tous les fichiers" -#: ../src/dialogs.py:4525 +#: ../src/dialogs.py:4695 #, python-format msgid "When %s becomes:" msgstr "Quand %s devient :" -#: ../src/dialogs.py:4527 +#: ../src/dialogs.py:4697 #, python-format msgid "Adding Special Notification for %s" msgstr "Ajout de notifications spéciales pour %s" -#: ../src/dialogs.py:4602 -msgid "Condition" -msgstr "Condition" - -#: ../src/dialogs.py:4722 -msgid "when I am " -msgstr "quand je suis " - -#: ../src/dialogs.py:5198 +#: ../src/dialogs.py:4917 #, python-format msgid "" "Your chat session with %(jid)s is encrypted.\n" @@ -7078,82 +7638,140 @@ msgstr "" "\n" "La Short Authentication String cette session est %(sas)s." -#: ../src/dialogs.py:5201 +#: ../src/dialogs.py:4920 msgid "You have already verified this contact's identity." msgstr "Vous avez déjà vérifié l'identité de ce contact." -#: ../src/dialogs.py:5207 ../src/dialogs.py:5291 +#: ../src/dialogs.py:4926 ../src/dialogs.py:5010 msgid "Contact's identity verified" msgstr "Identité du contact vérifiée" -#: ../src/dialogs.py:5213 +#: ../src/dialogs.py:4932 msgid "Verify again..." msgstr "Vérifier à nouveau..." -#: ../src/dialogs.py:5218 -msgid "To be certain that only the expected person can read your messages or send you messages, you need to verify their identity by clicking the button below." -msgstr "Afin d'être certain que seule la personne prévue puisse lire vos messages et vous en envoyer, vous devez vérifier son identité en cliquant sur le bouton en-dessous." +#: ../src/dialogs.py:4937 +msgid "" +"To be certain that only the expected person can read your messages or " +"send you messages, you need to verify their identity by clicking the button " +"below." +msgstr "" +"Afin d'être certain que seule la personne prévue puisse lire vos " +"messages et vous en envoyer, vous devez vérifier son identité en cliquant " +"sur le bouton en-dessous." -#: ../src/dialogs.py:5221 ../src/dialogs.py:5272 ../src/dialogs.py:5285 +#: ../src/dialogs.py:4940 ../src/dialogs.py:4991 ../src/dialogs.py:5004 msgid "Contact's identity NOT verified" msgstr "Identité du contact NON vérifiée" -#: ../src/dialogs.py:5226 +#: ../src/dialogs.py:4945 msgid "Verify..." msgstr "Vérifier..." -#: ../src/dialogs.py:5237 +#: ../src/dialogs.py:4956 msgid "Have you verified the contact's identity?" msgstr "Avez-vous vérifié l'identité du contact ?" -#: ../src/dialogs.py:5238 +#: ../src/dialogs.py:4957 #, python-format msgid "" -"To prevent talking to an unknown person, you should speak to %(jid)s directly (in person or on the phone) and verify that they see the same Short Authentication String (SAS) as you.\n" +"To prevent talking to an unknown person, you should speak to %(jid)s " +"directly (in person or on the phone) and verify that they see the same Short " +"Authentication String (SAS) as you.\n" "\n" "This session's Short Authentication String is %(sas)s." msgstr "" -"Afin d'éviter de parler à un inconnu, vous devriez parler à %(jid)s directement (en personne ou au téléphone) et vérifier qu'ils voient la même Short Authentication String (SAS) que vous.\n" +"Afin d'éviter de parler à un inconnu, vous devriez parler à %(jid)s " +"directement (en personne ou au téléphone) et vérifier qu'ils voient la même " +"Short Authentication String (SAS) que vous.\n" "\n" "La Short Authentication String de cette session est : %(sas)s." -#: ../src/dialogs.py:5239 +#: ../src/dialogs.py:4958 msgid "Did you talk to the remote contact and verify the SAS?" msgstr "Avec vous parlé au contact et vérifié la SAS ?" -#: ../src/dialogs.py:5273 +#: ../src/dialogs.py:4992 #, python-format msgid "The contact's key (%s) does not match the key assigned in Gajim." -msgstr "La clef du contact (%s) ne correspond pas à la clef assignée dans Gajim." +msgstr "" +"La clef du contact (%s) ne correspond pas à la clef assignée dans " +"Gajim." -#: ../src/dialogs.py:5279 +#: ../src/dialogs.py:4998 msgid "No GPG key is assigned to this contact. So you cannot encrypt messages." -msgstr "Aucune clef GPG n'est assignée à ce contact. Vous ne pouvez donc pas chiffrer les messages." +msgstr "" +"Aucune clef GPG n'est assignée à ce contact. Vous ne pouvez donc pas " +"chiffrer les messages." -#: ../src/dialogs.py:5286 -msgid "GPG key is assigned to this contact, but you do not trust his key, so message cannot be encrypted. Use your GPG client to trust this key." -msgstr "Une clef GPG est assignée à ce contact, mais vous n'avez pas confiance en sa clef, les messages ne peuvent donc pas être chiffrés. Utilisez votre client GPG pour avoir confiance en cette clef." +#: ../src/dialogs.py:5005 +msgid "" +"GPG key is assigned to this contact, but you do not trust his key, so " +"message cannot be encrypted. Use your GPG client to trust this key." +msgstr "" +"Une clef GPG est assignée à ce contact, mais vous n'avez pas confiance en " +"sa clef, les messages ne peuvent donc pas être chiffrés. " +"Utilisez votre client GPG pour avoir confiance en cette clef." -#: ../src/dialogs.py:5292 -msgid "GPG Key is assigned to this contact, and you trust his key, so messages will be encrypted." -msgstr "Une clef GPG est assignée à ce contact, et vous avez confiance en sa clef, les messages seront donc chiffrés." +#: ../src/dialogs.py:5011 +msgid "" +"GPG Key is assigned to this contact, and you trust his key, so messages will " +"be encrypted." +msgstr "" +"Une clef GPG est assignée à ce contact, et vous avez confiance en sa clef, " +"les messages seront donc chiffrés." -#: ../src/dialogs.py:5357 +#: ../src/dialogs.py:5076 msgid "an audio and video" msgstr "audio et vidéo" -#: ../src/dialogs.py:5359 +#: ../src/dialogs.py:5078 msgid "an audio" msgstr "audio" -#: ../src/dialogs.py:5361 +#: ../src/dialogs.py:5080 msgid "a video" msgstr "vidéo" -#: ../src/dialogs.py:5365 +#: ../src/dialogs.py:5084 #, python-format -msgid "%(contact)s wants to start %(type)s session with you. Do you want to answer the call?" -msgstr "%(contact)s veut démarrer un session %(type)s avec vous. Voulez-vous répondre à son appel ?" +msgid "" +"%(contact)s wants to start %(type)s session with you. Do you want to answer " +"the call?" +msgstr "" +"%(contact)s veut démarrer un session %(type)s avec vous. Voulez-vous " +"répondre à son appel ?" + +#: ../src/dialogs.py:5152 +#, python-format +msgid "Certificate for account %s" +msgstr "Certificat pour le compte %s" + +#: ../src/dialogs.py:5152 +#, python-format +msgid "" +"Issued to:\n" +"Common Name (CN): %(scn)s\n" +"Organization (O): %(sorg)s\n" +"Organizationl Unit (OU): %(sou)s\n" +"Serial Number: %(sn)s\n" +"\n" +"Issued by:\n" +"Common Name (CN): %(icn)s\n" +"Organization (O): %(iorg)s\n" +"Organizationl Unit (OU): %(iou)s\n" +"\n" +"Validity:\n" +"Issued on: %(io)s\n" +"Expires on: %(eo)s\n" +"\n" +"Fingerprint\n" +"SHA1 Fingerprint: %(sha1)s" +msgstr "" + +#: ../src/dialogs.py:5186 ../src/dialogs.py:5203 +msgid "View cert..." +msgstr "Voir cert..." #: ../src/disco.py:119 msgid "Others" @@ -7164,57 +7782,61 @@ msgstr "Autres" msgid "Conference" msgstr "Conférences" -#: ../src/disco.py:513 +#: ../src/disco.py:516 msgid "Without a connection, you can not browse available services" msgstr "Vous devez être connecté pour parcourir les services disponibles" -#: ../src/disco.py:600 +#: ../src/disco.py:602 #, python-format msgid "Service Discovery using account %s" msgstr "Gestion des Services du compte %s" -#: ../src/disco.py:602 +#: ../src/disco.py:604 msgid "Service Discovery" msgstr "Gestion des Services" -#: ../src/disco.py:758 +#: ../src/disco.py:760 msgid "The service could not be found" msgstr "Le service n'a pu être trouvé" -#: ../src/disco.py:759 -msgid "There is no service at the address you entered, or it is not responding. Check the address and try again." -msgstr "Il n'y a aucun service à l'adresse indiquée, ou bien il ne répond pas. Veuillez vérifier l'adresse et réessayer." +#: ../src/disco.py:761 +msgid "" +"There is no service at the address you entered, or it is not responding. " +"Check the address and try again." +msgstr "" +"Il n'y a aucun service à l'adresse indiquée, ou bien il ne répond pas. " +"Veuillez vérifier l'adresse et réessayer." -#: ../src/disco.py:763 ../src/disco.py:1100 +#: ../src/disco.py:765 ../src/disco.py:1102 msgid "The service is not browsable" msgstr "Le service ne peut pas être parcouru" -#: ../src/disco.py:764 +#: ../src/disco.py:766 msgid "This type of service does not contain any items to browse." msgstr "Ce type de service ne contient pas d'élément à parcourir." -#: ../src/disco.py:804 ../src/disco.py:814 +#: ../src/disco.py:806 ../src/disco.py:816 msgid "Invalid Server Name" msgstr "Nom de serveur invalide" -#: ../src/disco.py:868 +#: ../src/disco.py:870 #, python-format msgid "Browsing %(address)s using account %(account)s" msgstr "Parcourt %(address)s en utilisant le compte %(account)s" -#: ../src/disco.py:912 +#: ../src/disco.py:914 msgid "_Browse" msgstr "_Parcourir" -#: ../src/disco.py:1101 +#: ../src/disco.py:1103 msgid "This service does not contain any items to browse." msgstr "Ce service ne contient aucun élément à parcourir." -#: ../src/disco.py:1341 +#: ../src/disco.py:1343 msgid "_Execute Command" msgstr "_Exécuter une commande" -#: ../src/disco.py:1351 ../src/disco.py:1522 +#: ../src/disco.py:1353 ../src/disco.py:1522 msgid "Re_gister" msgstr "_Souscrire" @@ -7228,8 +7850,8 @@ msgstr "Scanne %(current)d / %(total)d.." msgid "Users" msgstr "Utilisateurs" -#. Description column # ccount). Description column +#. Description column #: ../src/disco.py:1762 msgid "Description" msgstr "Description" @@ -7239,250 +7861,282 @@ msgstr "Description" msgid "Id" msgstr "Id" -#: ../src/disco.py:1835 ../src/gui_interface.py:2995 +#: ../src/disco.py:1835 ../src/gui_interface.py:2466 msgid "Bookmark already set" msgstr "Marque-page déjà spécifié" -#: ../src/disco.py:1836 ../src/gui_interface.py:2996 +#: ../src/disco.py:1836 ../src/gui_interface.py:2467 #, python-format msgid "Group Chat \"%s\" is already in your bookmarks." msgstr "Le salon \"%s\" est déjà dans vos marque-pages." -#: ../src/disco.py:1845 ../src/gui_interface.py:3010 +#: ../src/disco.py:1845 ../src/gui_interface.py:2481 msgid "Bookmark has been added successfully" msgstr "Marque-page ajouté avec succès" -#: ../src/disco.py:1846 ../src/gui_interface.py:3011 +#: ../src/disco.py:1846 ../src/gui_interface.py:2482 msgid "You can manage your bookmarks via Actions menu in your roster." -msgstr "Vous pouvez gérer vos marque-pages par le menu Actions de votre liste de contacts." +msgstr "" +"Vous pouvez gérer vos marque-pages par le menu Actions de votre liste de " +"contacts." -#: ../src/disco.py:2057 +#: ../src/disco.py:2055 msgid "Subscribed" msgstr "Inscrit" -#: ../src/disco.py:2065 +#: ../src/disco.py:2063 msgid "Node" msgstr "Nœud" -#: ../src/disco.py:2129 +#: ../src/disco.py:2127 msgid "New post" msgstr "Nouvel article" -#: ../src/disco.py:2135 +#: ../src/disco.py:2133 msgid "_Subscribe" msgstr "_Ajouter" -#: ../src/disco.py:2141 +#: ../src/disco.py:2139 msgid "_Unsubscribe" msgstr "_Désinscrire" -#: ../src/features_window.py:49 -msgid "SSL certificat validation" +#: ../src/features_window.py:50 +msgid "SSL certificate validation" msgstr "Validation de certificat SSL" -#: ../src/features_window.py:50 -msgid "A library used to validate server certificates to ensure a secure connection." -msgstr "Une librairie utilisée pour valider les certificats des serveurs afin d'assurer une connexion sécurisée." +#: ../src/features_window.py:51 +msgid "" +"A library used to validate server certificates to ensure a secure connection." +msgstr "" +"Une librairie utilisée pour valider les certificats des serveurs afin " +"d'assurer une connexion sécurisée." -#: ../src/features_window.py:51 ../src/features_window.py:52 +#: ../src/features_window.py:52 ../src/features_window.py:53 msgid "Requires python-pyopenssl." msgstr "Nécessite python-pyopenssl." -#: ../src/features_window.py:53 +#: ../src/features_window.py:54 msgid "Bonjour / Zeroconf" msgstr "Bonjour / Zeroconf" -#: ../src/features_window.py:54 -msgid "Serverless chatting with autodetected clients in a local network." -msgstr "Conversation sans serveur avec détection automatique des clients dans un réseau local." - #: ../src/features_window.py:55 +msgid "Serverless chatting with autodetected clients in a local network." +msgstr "" +"Conversation sans serveur avec détection automatique des clients dans un " +"réseau local." + +#: ../src/features_window.py:56 msgid "Requires python-avahi." msgstr "Nécessite python-avahi" -#: ../src/features_window.py:56 +#: ../src/features_window.py:57 msgid "Requires pybonjour (http://o2s.csail.mit.edu/o2s-wiki/pybonjour)." msgstr "Nécessite pybonjour (http://o2s.csail.mit.edu/o2s-wiki/pybonjour)." -#: ../src/features_window.py:57 +#: ../src/features_window.py:58 msgid "Command line" msgstr "Ligne de commandes" -#: ../src/features_window.py:58 +#: ../src/features_window.py:59 msgid "A script to control Gajim via commandline." msgstr "Un script permettant de contrôler Gajim avec des lignes de commande." -#: ../src/features_window.py:59 +#: ../src/features_window.py:60 msgid "Requires python-dbus." msgstr "Nécessite python-dbus." -#: ../src/features_window.py:60 ../src/features_window.py:64 -#: ../src/features_window.py:68 ../src/features_window.py:72 -#: ../src/features_window.py:76 ../src/features_window.py:84 -#: ../src/features_window.py:88 ../src/features_window.py:108 +#: ../src/features_window.py:61 ../src/features_window.py:69 +#: ../src/features_window.py:73 ../src/features_window.py:77 +#: ../src/features_window.py:85 ../src/features_window.py:89 +#: ../src/features_window.py:109 msgid "Feature not available under Windows." msgstr "Fonctionnalité indisponible sous Windows." -#: ../src/features_window.py:61 +#: ../src/features_window.py:62 msgid "OpenGPG message encryption" msgstr "Chiffrement OpenGPG" -#: ../src/features_window.py:62 +#: ../src/features_window.py:63 msgid "Encrypting chat messages with gpg keys." msgstr "Chiffrement des messages avec des clefs GPG." -#: ../src/features_window.py:63 -msgid "Requires gpg and python-GnuPGInterface." -msgstr "Nécessite gpg et python-GnuPGInterface." +#: ../src/features_window.py:64 +msgid "Requires gpg and python-gnupg (http://code.google.com/p/python-gnupg/)." +msgstr "" #: ../src/features_window.py:65 +msgid "Requires gpg.exe in PATH." +msgstr "gpg.exe doit être dans le PATH." + +#: ../src/features_window.py:66 msgid "Network-manager" msgstr "network-manager" -#: ../src/features_window.py:66 +#: ../src/features_window.py:67 msgid "Autodetection of network status." msgstr "Auto-détection du statut de la connexion." -#: ../src/features_window.py:67 +#: ../src/features_window.py:68 msgid "Requires gnome-network-manager and python-dbus." msgstr "Nécessite gnome-network-manager et python-dbus." -#: ../src/features_window.py:69 +#: ../src/features_window.py:70 msgid "Session Management" msgstr "Gestion de la Session" -#: ../src/features_window.py:70 -msgid "Gajim session is stored on logout and restored on login." -msgstr "La session Gajim est enregistrée à la déconnexion et restaurée à la connexion." - #: ../src/features_window.py:71 +msgid "Gajim session is stored on logout and restored on login." +msgstr "" +"La session Gajim est enregistrée à la déconnexion et restaurée à la " +"connexion." + +#: ../src/features_window.py:72 msgid "Requires python-gnome2." msgstr "Nécessite python-gnome2" -#: ../src/features_window.py:73 +#: ../src/features_window.py:74 msgid "Password encryption" msgstr "Chiffrement du mot de passe" -#: ../src/features_window.py:74 -msgid "Passwords can be stored securely and not just in plaintext." -msgstr "Les mots de passe peuvent être stockés de façon sécurisée et non pas seulement en texte." - #: ../src/features_window.py:75 +msgid "Passwords can be stored securely and not just in plaintext." +msgstr "" +"Les mots de passe peuvent être stockés de façon sécurisée et non pas " +"seulement en texte." + +#: ../src/features_window.py:76 msgid "Requires gnome-keyring and python-gnome2-desktop, or kwalletcli." msgstr "Nécessite gnome-keyring et python-gnome2-desktop, ou kwalletcli." -#: ../src/features_window.py:77 +#: ../src/features_window.py:78 msgid "SRV" msgstr "SRV" -#: ../src/features_window.py:78 -msgid "Ability to connect to servers which are using SRV records." -msgstr "Possibilité de se connecter à des serveurs qui utilisent des entrées SRV." - #: ../src/features_window.py:79 +msgid "Ability to connect to servers which are using SRV records." +msgstr "" +"Possibilité de se connecter à des serveurs qui utilisent des entrées SRV." + +#: ../src/features_window.py:80 msgid "Requires dnsutils." msgstr "Nécessite dnsutils." -#: ../src/features_window.py:80 +#: ../src/features_window.py:81 msgid "Requires nslookup to use SRV records." msgstr "Nécessite nslookup afin d'utiliser les enregistrements SRV." -#: ../src/features_window.py:81 +#: ../src/features_window.py:82 msgid "Spell Checker" msgstr "Vérificateur d'Orthographe" -#: ../src/features_window.py:82 +#: ../src/features_window.py:83 msgid "Spellchecking of composed messages." msgstr "Vérification ortohgraphique des messages composés." -#: ../src/features_window.py:83 +#: ../src/features_window.py:84 msgid "Requires libgtkspell." msgstr "Nécessite libgtkspell" -#: ../src/features_window.py:85 +#: ../src/features_window.py:86 msgid "Notification" msgstr "Notification" -#: ../src/features_window.py:86 +#: ../src/features_window.py:87 msgid "Passive popups notifying for new events." msgstr "Notification de nouveaux événements via des popups." -#: ../src/features_window.py:87 -msgid "Requires python-notify or instead python-dbus in conjunction with notification-daemon." -msgstr "Nécessite python-notify ou python-dbus en conjonction avec notification-daemon." +#: ../src/features_window.py:88 +msgid "" +"Requires python-notify or instead python-dbus in conjunction with " +"notification-daemon." +msgstr "" +"Nécessite python-notify ou python-dbus en conjonction avec notification-" +"daemon." -#: ../src/features_window.py:89 +#: ../src/features_window.py:90 msgid "Automatic status" msgstr "Statut automatique" -#: ../src/features_window.py:90 -msgid "Ability to measure idle time, in order to set auto status." -msgstr "Possibilité de mesurer le temps d'inactivité, afin de définir un statut automatique." - #: ../src/features_window.py:91 +msgid "Ability to measure idle time, in order to set auto status." +msgstr "" +"Possibilité de mesurer le temps d'inactivité, afin de définir un statut " +"automatique." + +#: ../src/features_window.py:92 msgid "Requires libxss library." msgstr "Nécessite la librairie libxss." -#: ../src/features_window.py:92 +#: ../src/features_window.py:93 msgid "Requires python2.5." msgstr "Nécessite python2.5" -#: ../src/features_window.py:93 +#: ../src/features_window.py:94 msgid "LaTeX" msgstr "LaTeX" -#: ../src/features_window.py:94 +#: ../src/features_window.py:95 msgid "Transform LaTeX expressions between $$ $$." msgstr "Transforme les expressions LaTeX entre $$ $$." -#: ../src/features_window.py:95 -#, fuzzy -msgid "Requires texlive-latex-base and (dvipng or ImageMagick). You have to set 'use_latex' to True in the Advanced Configuration Editor." -msgstr "Nécessite texlive-latex-base et dvipng. Vous devez définir « use_latex » à True dans l'éditeur de configuration avancée." - #: ../src/features_window.py:96 -#, fuzzy -msgid "Requires texlive-latex-base and (dvipng or ImageMagick) (All is in MikTeX). You have to set 'use_latex' to True in the Advanced Configuration Editor." -msgstr "Nécessite texlive-latex-base et dvipng (tout est dans MikTeX). Vous devez définir « use_latex » à True dans l'éditeur de configuration avancée." +msgid "" +"Requires texlive-latex-base and (dvipng or ImageMagick). You have to set " +"'use_latex' to True in the Advanced Configuration Editor." +msgstr "" +"Nécessite texlive-latex-base et (dvipng ou ImageMagick). Vous devez définir " +"« use_latex » à True dans l'éditeur de configuration avancée." #: ../src/features_window.py:97 +msgid "" +"Requires texlive-latex-base and (dvipng or ImageMagick) (All is in MikTeX). " +"You have to set 'use_latex' to True in the Advanced Configuration Editor." +msgstr "" +"Nécessite texlive-latex-base et (dvipng ou ImageMagick) (tout est dans " +"MikTeX). Vous devez définir « use_latex » à True dans l'éditeur de " +"configuration avancée." + +#: ../src/features_window.py:98 msgid "End to End message encryption" msgstr "Chiffrement des messages de bout en bout" -#: ../src/features_window.py:98 +#: ../src/features_window.py:99 msgid "Encrypting chat messages." msgstr "Chiffrement des messages de la conversation." -#: ../src/features_window.py:99 ../src/features_window.py:100 +#: ../src/features_window.py:100 ../src/features_window.py:101 msgid "Requires python-crypto." msgstr "Nécessite python-crypto." -#: ../src/features_window.py:101 +#: ../src/features_window.py:102 msgid "RST Generator" msgstr "Générateur RST" -#: ../src/features_window.py:102 -msgid "Generate XHTML output from RST code (see http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html)." -msgstr "Génère une sortie XHTML à partir d'un code RST (voir http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html)." +#: ../src/features_window.py:103 +msgid "" +"Generate XHTML output from RST code (see http://docutils.sourceforge.net/" +"docs/ref/rst/restructuredtext.html)." +msgstr "" +"Génère une sortie XHTML à partir d'un code RST (voir http://docutils." +"sourceforge.net/docs/ref/rst/restructuredtext.html)." -#: ../src/features_window.py:103 ../src/features_window.py:104 +#: ../src/features_window.py:104 ../src/features_window.py:105 msgid "Requires python-docutils." msgstr "Nécessite python-docutils." -#: ../src/features_window.py:106 +#: ../src/features_window.py:107 msgid "Ability to start audio and video chat." msgstr "Possibilité de démarrer une conversation audio et vidéo." -#: ../src/features_window.py:107 -msgid "Requires python-farsight." -msgstr "Nécessite python-farsight." +#: ../src/features_window.py:108 +msgid "Requires python-farsight and gstreamer-plugins-bad." +msgstr "Nécessite python-farsight et gstreamer-plugins-bad." -#: ../src/features_window.py:115 -#, fuzzy +#: ../src/features_window.py:116 msgid "?features:Available" -msgstr "Disponible" +msgstr "?features:Disponible" -#: ../src/features_window.py:122 +#: ../src/features_window.py:123 msgid "Feature" msgstr "Fonctionnalité" @@ -7503,7 +8157,7 @@ msgstr "Progression" msgid "Filename: %s" msgstr "Nom du Fichier : %s" -#: ../src/filetransfers_window.py:179 ../src/filetransfers_window.py:323 +#: ../src/filetransfers_window.py:179 ../src/filetransfers_window.py:333 #, python-format msgid "Size: %s" msgstr "Taille : %s" @@ -7511,7 +8165,7 @@ msgstr "Taille : %s" #. You is a reply of who sent a file #. You is a reply of who received a file #: ../src/filetransfers_window.py:188 ../src/filetransfers_window.py:198 -#: ../src/history_manager.py:522 +#: ../src/history_manager.py:541 msgid "You" msgstr "Vous" @@ -7520,7 +8174,7 @@ msgstr "Vous" msgid "Sender: %s" msgstr "Expéditeur : %s" -#: ../src/filetransfers_window.py:190 ../src/filetransfers_window.py:617 +#: ../src/filetransfers_window.py:190 ../src/filetransfers_window.py:627 #: ../src/tooltips.py:742 msgid "Recipient: " msgstr "Destinataire : " @@ -7556,78 +8210,82 @@ msgstr "Message d'erreur : %s" msgid "File transfer stopped" msgstr "Transfert de fichier interrompu" -#: ../src/filetransfers_window.py:257 +#: ../src/filetransfers_window.py:266 msgid "Choose File to Send..." msgstr "Choisissez un fichier à envoyer..." -#: ../src/filetransfers_window.py:273 ../src/tooltips.py:780 +#: ../src/filetransfers_window.py:282 ../src/tooltips.py:780 msgid "Description: " msgstr "Description :" -#: ../src/filetransfers_window.py:286 +#: ../src/filetransfers_window.py:295 msgid "Gajim cannot access this file" msgstr "Gajim ne peut accéder à ce fichier" -#: ../src/filetransfers_window.py:287 +#: ../src/filetransfers_window.py:296 msgid "This file is being used by another process." msgstr "Ce fichier est utilisé par un autre processus." -#: ../src/filetransfers_window.py:320 +#: ../src/filetransfers_window.py:330 #, python-format msgid "File: %s" msgstr "Fichier : %s" -#: ../src/filetransfers_window.py:326 +#: ../src/filetransfers_window.py:336 #, python-format msgid "Type: %s" msgstr "Type : %s" -#: ../src/filetransfers_window.py:328 +#: ../src/filetransfers_window.py:338 #, python-format msgid "Description: %s" msgstr "Description : %s" -#: ../src/filetransfers_window.py:329 +#: ../src/filetransfers_window.py:339 #, python-format msgid "%s wants to send you a file:" msgstr "%s souhaite vous envoyer un fichier :" -#: ../src/filetransfers_window.py:342 ../src/gtkgui_helpers.py:906 +#: ../src/filetransfers_window.py:352 ../src/gtkgui_helpers.py:850 #, python-format msgid "Cannot overwrite existing file \"%s\"" msgstr "Impossible de remplacer le fichier existant \"%s\"" -#: ../src/filetransfers_window.py:343 ../src/gtkgui_helpers.py:907 -msgid "A file with this name already exists and you do not have permission to overwrite it." -msgstr "Un fichier du même nom existe déjà et vous n'avez pas la permission de l'écraser." +#: ../src/filetransfers_window.py:353 ../src/gtkgui_helpers.py:851 +msgid "" +"A file with this name already exists and you do not have permission to " +"overwrite it." +msgstr "" +"Un fichier du même nom existe déjà et vous n'avez pas la permission de " +"l'écraser." -#: ../src/filetransfers_window.py:359 ../src/gtkgui_helpers.py:911 +#: ../src/filetransfers_window.py:369 ../src/gtkgui_helpers.py:855 msgid "This file already exists" msgstr "Ce fichier existe déjà" -#: ../src/filetransfers_window.py:359 ../src/gtkgui_helpers.py:911 +#: ../src/filetransfers_window.py:369 ../src/gtkgui_helpers.py:855 msgid "What do you want to do?" msgstr "Que voulez vous faire ?" #. read-only bit is used to mark special folder under windows, #. not to mark that a folder is read-only. See ticket #3587 -#: ../src/filetransfers_window.py:369 ../src/gtkgui_helpers.py:918 +#: ../src/filetransfers_window.py:379 ../src/gtkgui_helpers.py:862 #, python-format msgid "Directory \"%s\" is not writable" msgstr "Le dossier \"%s\" n'est pas accessible en écriture" -#: ../src/filetransfers_window.py:369 ../src/gtkgui_helpers.py:919 +#: ../src/filetransfers_window.py:379 ../src/gtkgui_helpers.py:863 msgid "You do not have permission to create files in this directory." msgstr "Vous n'avez pas les permissions de créer des fichiers dans ce dossier." -#: ../src/filetransfers_window.py:379 +#: ../src/filetransfers_window.py:389 msgid "Save File as..." msgstr "Enregistrer le Fichier sous..." #. Print remaining time in format 00:00:00 #. You can change the places of (hours), (minutes), (seconds) - #. they are not translatable. -#: ../src/filetransfers_window.py:449 +#: ../src/filetransfers_window.py:459 #, python-format msgid "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" @@ -7635,79 +8293,78 @@ msgstr "%(hours)02.d:%(minutes)02.d:%(seconds)02.d" #. This should make the string Kb/s, #. where 'Kb' part is taken from %s. #. Only the 's' after / (which means second) should be translated. -#: ../src/filetransfers_window.py:542 +#: ../src/filetransfers_window.py:552 #, python-format msgid "(%(filesize_unit)s/s)" msgstr "(%(filesize_unit)s/s)" -#: ../src/filetransfers_window.py:585 ../src/filetransfers_window.py:588 +#: ../src/filetransfers_window.py:595 ../src/filetransfers_window.py:598 msgid "Invalid File" msgstr "Fichier non valide" -#: ../src/filetransfers_window.py:585 +#: ../src/filetransfers_window.py:595 msgid "File: " msgstr "Fichier : " -#: ../src/filetransfers_window.py:589 +#: ../src/filetransfers_window.py:599 msgid "It is not possible to send empty files" msgstr "Il n'est pas possible d'envoyer un fichier vide" -#: ../src/filetransfers_window.py:613 ../src/tooltips.py:732 +#: ../src/filetransfers_window.py:623 ../src/tooltips.py:732 msgid "Name: " msgstr "Nom : " -#: ../src/filetransfers_window.py:615 ../src/tooltips.py:736 +#: ../src/filetransfers_window.py:625 ../src/tooltips.py:736 msgid "Sender: " msgstr "Expéditeur : " -#: ../src/filetransfers_window.py:777 +#: ../src/filetransfers_window.py:787 msgid "Pause" msgstr "Pause" -#: ../src/gajim.py:142 +#: ../src/gajim.py:186 msgid "Gajim needs X server to run. Quiting..." msgstr "Gajim a besoin d'un serveur X pour démarrer. Fermeture..." -#: ../src/gajim.py:144 +#: ../src/gajim.py:188 #, python-format msgid "importing PyGTK failed: %s" msgstr "l'import de PyGTK a échoué : %s" -#: ../src/gajim.py:186 -#, fuzzy +#: ../src/gajim.py:230 msgid "Gajim needs PyGTK 2.16 or above" -msgstr "Gajim a besoin de PyGTK 2.12 pour s'exécuter" +msgstr "Gajim a besoin de PyGTK 2.16 pour s'exécuter" -#: ../src/gajim.py:187 -#, fuzzy +#: ../src/gajim.py:231 msgid "Gajim needs PyGTK 2.16 or above to run. Quiting..." -msgstr "Gajim a besoin de PyGTK 2.1é ou supérieur pour s'exécuter. Fermeture..." +msgstr "" +"Gajim a besoin de PyGTK 2.16 ou supérieur pour s'exécuter. Fermeture..." -#: ../src/gajim.py:189 -#, fuzzy +#: ../src/gajim.py:233 msgid "Gajim needs GTK 2.16 or above" -msgstr "Gajim a besoin de GTK 2.12 ou supérieur" +msgstr "Gajim a besoin de GTK 2.16 ou supérieur" -#: ../src/gajim.py:190 -#, fuzzy +#: ../src/gajim.py:234 msgid "Gajim needs GTK 2.16 or above to run. Quiting..." -msgstr "Gajim a besoin de GTK 2.12 ou supérieur pour s'exécuter. Fermeture..." +msgstr "Gajim a besoin de GTK 2.16 ou supérieur pour s'exécuter. Fermeture..." -#: ../src/gajim.py:199 +#: ../src/gajim.py:243 msgid "Gajim needs pywin32 to run" msgstr "Gajim a besoin de pywin32 pour s'exécuter" -#: ../src/gajim.py:200 +#: ../src/gajim.py:244 #, python-format -msgid "Please make sure that Pywin32 is installed on your system. You can get it at %s" +msgid "" +"Please make sure that Pywin32 is installed on your system. You can get it at " +"%s" msgstr "Assurez-vous que Pywin32 est installé. Vous pouvez l'obtenir ici : %s" #. set the icon to all newly opened wind -#: ../src/gajim.py:316 +#: ../src/gajim.py:360 msgid "Gajim is already running" msgstr "Gajim est déjà en cours d'exécution" -#: ../src/gajim.py:317 +#: ../src/gajim.py:361 msgid "" "Another instance of Gajim seems to be running\n" "Run anyway?" @@ -7715,38 +8372,35 @@ msgstr "" "Gajim semble déjà être en cours d'exécution\n" "Démarrer quand même ?" -#: ../src/gajim-remote-plugin.py:74 ../src/gajim-remote.py:77 +#: ../src/gajim-remote.py:77 msgid "Shows a help on specific command" msgstr "Afficher l'aide pour une commande" #. User gets help for the command, specified by this parameter -#: ../src/gajim-remote-plugin.py:77 ../src/gajim-remote.py:80 +#: ../src/gajim-remote.py:80 msgid "command" msgstr "commande" -#: ../src/gajim-remote-plugin.py:78 ../src/gajim-remote.py:81 +#: ../src/gajim-remote.py:81 msgid "show help on command" msgstr "montrer l'aide sur la commande" -#: ../src/gajim-remote-plugin.py:82 ../src/gajim-remote.py:85 +#: ../src/gajim-remote.py:85 msgid "Shows or hides the roster window" msgstr "Montre ou cache la fenêtre principale" -#: ../src/gajim-remote-plugin.py:86 ../src/gajim-remote.py:89 +#: ../src/gajim-remote.py:89 msgid "Pops up a window with the next pending event" msgstr "Afficher une fenêtre avec le prochain message non lu" -#: ../src/gajim-remote-plugin.py:90 ../src/gajim-remote.py:93 -msgid "Prints a list of all contacts in the roster. Each contact appears on a separate line" -msgstr "Affiche une liste de tous les contacts de la liste. Chaque contact apparaît sur une ligne séparée" +#: ../src/gajim-remote.py:93 +msgid "" +"Prints a list of all contacts in the roster. Each contact appears on a " +"separate line" +msgstr "" +"Affiche une liste de tous les contacts de la liste. Chaque contact apparaît " +"sur une ligne séparée" -#: ../src/gajim-remote-plugin.py:93 ../src/gajim-remote-plugin.py:108 -#: ../src/gajim-remote-plugin.py:118 ../src/gajim-remote-plugin.py:131 -#: ../src/gajim-remote-plugin.py:145 ../src/gajim-remote-plugin.py:154 -#: ../src/gajim-remote-plugin.py:175 ../src/gajim-remote-plugin.py:205 -#: ../src/gajim-remote-plugin.py:214 ../src/gajim-remote-plugin.py:221 -#: ../src/gajim-remote-plugin.py:228 ../src/gajim-remote-plugin.py:239 -#: ../src/gajim-remote-plugin.py:255 ../src/gajim-remote-plugin.py:264 #: ../src/gajim-remote.py:96 ../src/gajim-remote.py:111 #: ../src/gajim-remote.py:121 ../src/gajim-remote.py:131 #: ../src/gajim-remote.py:147 ../src/gajim-remote.py:161 @@ -7758,319 +8412,43 @@ msgstr "Affiche une liste de tous les contacts de la liste. Chaque contact appar msgid "account" msgstr "compte" -#: ../src/gajim-remote-plugin.py:93 ../src/gajim-remote.py:96 +#: ../src/gajim-remote.py:96 msgid "show only contacts of the given account" msgstr "montrer seulement les contacts du compte spécifié" -#: ../src/gajim-remote-plugin.py:99 ../src/gajim-remote.py:102 +#: ../src/gajim-remote.py:102 msgid "Prints a list of registered accounts" msgstr "Affiche la liste des comptes enregistrés" -#: ../src/gajim-remote-plugin.py:103 ../src/gajim-remote.py:106 +#: ../src/gajim-remote.py:106 msgid "Changes the status of account or accounts" msgstr "Change l'état du ou des compte(s)" #. offline, online, chat, away, xa, dnd, invisible should not be translated -#: ../src/gajim-remote-plugin.py:106 ../src/gajim-remote.py:109 +#: ../src/gajim-remote.py:109 msgid "status" msgstr "état" -#: ../src/gajim-remote-plugin.py:106 -#, fuzzy -msgid "one of: offline, online, chat, away, xa, dnd, invisible " -msgstr "un parmi : offline, online, chat, away, xa, dnd, invisible " +#: ../src/gajim-remote.py:109 +msgid "" +"one of: offline, online, chat, away, xa, dnd, invisible. If not set, use " +"account's previous status" +msgstr "" +"un parmi : offline, online, chat, away, xa, dnd, invisible. Si non défini, " +"le précédant statut est utilisé" -#: ../src/gajim-remote-plugin.py:107 ../src/gajim-remote.py:110 +#: ../src/gajim-remote.py:110 msgid "status message" msgstr "Message d'état" -#: ../src/gajim-remote-plugin.py:108 ../src/gajim-remote.py:111 -msgid "change status of account \"account\". If not specified, try to change status of all accounts that have \"sync with global status\" option set" -msgstr "Change l'état du compte \"compte\". Si aucun n'est spécifié, essaye de changer l'état de tous les compte qui ont l'option \"synchroniser avec l'état global\" activée" - -#: ../src/gajim-remote-plugin.py:114 ../src/gajim-remote.py:127 -msgid "Shows the chat dialog so that you can send messages to a contact" -msgstr "Montre la fenêtre de discussion pour que vous puissiez envoyer un message à un contact" - -#: ../src/gajim-remote-plugin.py:116 ../src/gajim-remote.py:129 -msgid "JID of the contact that you want to chat with" -msgstr "L'identifiant Jabber du contact avec lequel vous voulez discuter" - -#: ../src/gajim-remote-plugin.py:118 ../src/gajim-remote-plugin.py:205 -#: ../src/gajim-remote.py:131 ../src/gajim-remote.py:221 -msgid "if specified, contact is taken from the contact list of this account" -msgstr "Si spécifié, le contact est pris dans la liste de contact de ce compte" - -#: ../src/gajim-remote-plugin.py:123 ../src/gajim-remote.py:139 -msgid "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 ''." -msgstr "Envoyer un nouveau message à un contact dans la liste. La clé OpenPGP et le compte sont facultatifs. Si vous voulez seulement renseigner le paramètre 'compte' sans 'clé pgp', mettez simple la valeur '' pour 'clé pgp'." - -#: ../src/gajim-remote-plugin.py:127 ../src/gajim-remote-plugin.py:140 -#: ../src/gajim-remote.py:143 ../src/gajim-remote.py:156 -msgid "JID of the contact that will receive the message" -msgstr "L'identifiant Jabber du contact qui recevra le message" - -#: ../src/gajim-remote-plugin.py:128 ../src/gajim-remote-plugin.py:142 -#: ../src/gajim-remote-plugin.py:153 ../src/gajim-remote.py:144 -#: ../src/gajim-remote.py:158 ../src/gajim-remote.py:169 -msgid "message contents" -msgstr "contenu du message" - -#: ../src/gajim-remote-plugin.py:129 ../src/gajim-remote-plugin.py:143 -#: ../src/gajim-remote.py:145 ../src/gajim-remote.py:159 -msgid "pgp key" -msgstr "clé pgp" - -#: ../src/gajim-remote-plugin.py:129 ../src/gajim-remote-plugin.py:143 -#: ../src/gajim-remote.py:145 ../src/gajim-remote.py:159 -msgid "if specified, the message will be encrypted using this public key" -msgstr "Si spécifié, le message sera chiffré en utilisant cette clé publique" - -#: ../src/gajim-remote-plugin.py:131 ../src/gajim-remote-plugin.py:145 -#: ../src/gajim-remote-plugin.py:154 ../src/gajim-remote.py:147 -#: ../src/gajim-remote.py:161 ../src/gajim-remote.py:170 -msgid "if specified, the message will be sent using this account" -msgstr "Si spécifié, le message sera envoyé en utilisant ce compte" - -#: ../src/gajim-remote-plugin.py:136 ../src/gajim-remote.py:152 -msgid "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 ''." -msgstr "Envoyer un nouveau message simple à un contact dans la liste. La clé OpenPGP et le compte sont facultatifs. Si vous voulez seulement renseigner le paramètre 'compte' sans 'clé pgp', mettez simple la valeur '' pour 'clé pgp'." - -#: ../src/gajim-remote-plugin.py:141 ../src/gajim-remote.py:157 -msgid "subject" -msgstr "sujet" - -#: ../src/gajim-remote-plugin.py:141 ../src/gajim-remote.py:157 -msgid "message subject" -msgstr "sujet du message" - -#: ../src/gajim-remote-plugin.py:150 ../src/gajim-remote.py:166 -msgid "Sends new message to a groupchat you've joined." -msgstr "Envoie un nouveau message à un salon que vous avez rejoint." - -#: ../src/gajim-remote-plugin.py:152 ../src/gajim-remote.py:168 -msgid "JID of the room that will receive the message" -msgstr "L'identifiant Jabber du salon qui recevra le message" - -#: ../src/gajim-remote-plugin.py:159 ../src/gajim-remote.py:175 -msgid "Gets detailed info on a contact" -msgstr "Récupère les informations détaillées d'un contact" - -#: ../src/gajim-remote-plugin.py:161 ../src/gajim-remote-plugin.py:174 -#: ../src/gajim-remote-plugin.py:204 ../src/gajim-remote-plugin.py:213 -#: ../src/gajim-remote.py:177 ../src/gajim-remote.py:190 -#: ../src/gajim-remote.py:220 ../src/gajim-remote.py:229 -msgid "JID of the contact" -msgstr "L'identifiant Jabber du contact" - -#: ../src/gajim-remote-plugin.py:165 ../src/gajim-remote.py:181 -msgid "Gets detailed info on a account" -msgstr "Récupère les informations détaillées d'un compte" - -#: ../src/gajim-remote-plugin.py:167 ../src/gajim-remote.py:183 -msgid "Name of the account" -msgstr "Nom du compte" - -#: ../src/gajim-remote-plugin.py:171 ../src/gajim-remote.py:187 -msgid "Sends file to a contact" -msgstr "Envoyer un fichier à un contact" - -#: ../src/gajim-remote-plugin.py:173 ../src/gajim-remote.py:189 -msgid "file" -msgstr "fichier" - -#: ../src/gajim-remote-plugin.py:173 ../src/gajim-remote.py:189 -msgid "File path" -msgstr "Chemin du fichier" - -#: ../src/gajim-remote-plugin.py:175 ../src/gajim-remote.py:191 -msgid "if specified, file will be sent using this account" -msgstr "si spécifié, le message sera envoyé en utilisant ce compte" - -#: ../src/gajim-remote-plugin.py:180 ../src/gajim-remote.py:196 -msgid "Lists all preferences and their values" -msgstr "Liste toutes les préférences et leurs valeurs" - -#: ../src/gajim-remote-plugin.py:184 ../src/gajim-remote.py:200 -msgid "Sets value of 'key' to 'value'." -msgstr "Définir la valeur de 'clé' à 'valeur'." - -#: ../src/gajim-remote-plugin.py:186 ../src/gajim-remote.py:202 -msgid "key=value" -msgstr "clé=valeur" - -#: ../src/gajim-remote-plugin.py:186 ../src/gajim-remote.py:202 -msgid "'key' is the name of the preference, 'value' is the value to set it to" -msgstr "'clé' est le nom de la préférence, 'valeur' est la valeur à assigner" - -#: ../src/gajim-remote-plugin.py:191 ../src/gajim-remote.py:207 -msgid "Deletes a preference item" -msgstr "Supprime une option de préférence" - -#: ../src/gajim-remote-plugin.py:193 ../src/gajim-remote.py:209 -msgid "key" -msgstr "touche" - -#: ../src/gajim-remote-plugin.py:193 ../src/gajim-remote.py:209 -msgid "name of the preference to be deleted" -msgstr "nom de la préférence a supprimer" - -#: ../src/gajim-remote-plugin.py:197 ../src/gajim-remote.py:213 -msgid "Writes the current state of Gajim preferences to the .config file" -msgstr "Écrit les préférences actuelles de Gajim dans le fichier .config" - -#: ../src/gajim-remote-plugin.py:202 ../src/gajim-remote.py:218 -msgid "Removes contact from roster" -msgstr "Enlever le contact de la liste" - -#: ../src/gajim-remote-plugin.py:211 ../src/gajim-remote.py:227 -msgid "Adds contact to roster" -msgstr "Ajouter le contact à la liste" - -#: ../src/gajim-remote-plugin.py:214 ../src/gajim-remote.py:230 -msgid "Adds new contact to this account" -msgstr "Ajoute un nouveau contact à ce compte" - -#: ../src/gajim-remote-plugin.py:219 ../src/gajim-remote.py:235 -msgid "Returns current status (the global one unless account is specified)" -msgstr "Renvoit l'état actuel (global à moins qu'un compte ne soit spécifié)" - -#: ../src/gajim-remote-plugin.py:226 -#, fuzzy -msgid "Returns current status message(the global one unless account is specified)" -msgstr "Renvoie le message d'état actuel (global à moins qu'un compte ne soit spécifié)" - -#: ../src/gajim-remote-plugin.py:233 ../src/gajim-remote.py:249 -msgid "Returns number of unread messages" -msgstr "Renvoie le nombre de messages non-lus" - -#: ../src/gajim-remote-plugin.py:237 ../src/gajim-remote.py:253 -msgid "Opens 'Start Chat' dialog" -msgstr "Ouvre la fenêtre « Commencer une discussion »" - -#: ../src/gajim-remote-plugin.py:239 ../src/gajim-remote.py:255 -msgid "Starts chat, using this account" -msgstr "Commencer une discussion en utilisant ce compte" - -#: ../src/gajim-remote-plugin.py:243 ../src/gajim-remote.py:259 -msgid "Sends custom XML" -msgstr "Envoyer du XML personnalisé" - -#: ../src/gajim-remote-plugin.py:245 ../src/gajim-remote.py:261 -msgid "XML to send" -msgstr "XML à envoyer" - -#: ../src/gajim-remote-plugin.py:246 ../src/gajim-remote.py:262 -msgid "Account in which the xml will be sent; if not specified, xml will be sent to all accounts" -msgstr "Compte dans lequel le XML sera envoyé ; si non spécifié, le XML sera envoyé à tous les comptes" - -#: ../src/gajim-remote-plugin.py:252 ../src/gajim-remote.py:277 -msgid "Handle a xmpp:/ uri" -msgstr "Gère une URI du type xmpp:" - -#: ../src/gajim-remote-plugin.py:254 ../src/gajim-remote.py:279 -msgid "uri" -msgstr "URI" - -#: ../src/gajim-remote-plugin.py:259 ../src/gajim-remote.py:286 -msgid "Join a MUC room" -msgstr "Joindre un groupe de discussions" - -#: ../src/gajim-remote-plugin.py:261 ../src/gajim-remote.py:288 -msgid "room" -msgstr "groupe de discussion" - -#: ../src/gajim-remote-plugin.py:262 ../src/gajim-remote.py:289 -msgid "nick" -msgstr "pseudonyme" - -#: ../src/gajim-remote-plugin.py:263 ../src/gajim-remote.py:290 -msgid "password" -msgstr "mot de passe" - -#: ../src/gajim-remote-plugin.py:268 ../src/gajim-remote.py:296 -msgid "Check if Gajim is running" -msgstr "Vérifie si Gajim est lancé" - -#: ../src/gajim-remote-plugin.py:272 ../src/gajim-remote-plugin.py:282 -#: ../src/gajim-remote.py:300 -msgid "Shows or hides the ipython window" -msgstr "Montre ou cache la fenêtre ipython" - -#: ../src/gajim-remote-plugin.py:306 ../src/gajim-remote.py:327 -msgid "Missing argument \"contact_jid\"" -msgstr "Argument manquant \"jid_contact\"" - -#: ../src/gajim-remote-plugin.py:325 ../src/gajim-remote.py:348 -#, python-format +#: ../src/gajim-remote.py:111 msgid "" -"'%s' is not in your roster.\n" -"Please specify account for sending the message." +"change status of account \"account\". If not specified, try to change status " +"of all accounts that have \"sync with global status\" option set" msgstr "" -"'%s' n'est pas dans votre liste de contact.\n" -"Précisez le compte pour envoyer le message." - -#: ../src/gajim-remote-plugin.py:328 ../src/gajim-remote.py:351 -msgid "You have no active account" -msgstr "Vous n'avez aucun compte actif" - -#: ../src/gajim-remote-plugin.py:383 ../src/gajim-remote.py:404 -msgid "It seems Gajim is not running. So you can't use gajim-remote." -msgstr "Il semble que Gajim ne soit pas lancé. Vous ne pouvez donc pas utiliser gajim-remote." - -#: ../src/gajim-remote-plugin.py:412 -#, python-format -msgid "" -"Usage: %s %s %s \n" -"\t %s" -msgstr "" -"Usage: %s %s %s \n" -"\t %s" - -#: ../src/gajim-remote-plugin.py:415 ../src/gajim-remote.py:435 -msgid "Arguments:" -msgstr "Arguments :" - -#: ../src/gajim-remote-plugin.py:419 ../src/gajim-remote.py:439 -#, python-format -msgid "%s not found" -msgstr "%s non trouvé" - -#: ../src/gajim-remote-plugin.py:423 ../src/gajim-remote.py:445 -#, python-format -msgid "" -"Usage: %s command [arguments]\n" -"Command is one of:\n" -msgstr "" -"Utilisation : %s commande [arguments]\n" -"commande est l'une de :\n" - -#: ../src/gajim-remote-plugin.py:496 -#, fuzzy, python-format -msgid "" -"Too many arguments. \n" -"Type \"%s help %s\" for more info" -msgstr "" -"Trop d'arguments.\n" -"Tapez \"%(basename)s help %(command)s\" pour plus d'informations" - -#: ../src/gajim-remote-plugin.py:500 -#, fuzzy, python-format -msgid "" -"Argument \"%s\" is not specified. \n" -"Type \"%s help %s\" for more info" -msgstr "" -"L'argument \"%(arg)s\" n'est pas précisé.\n" -"Tapez \"%(basename)s help %(command)s\" pour plus d'informations" - -#: ../src/gajim-remote-plugin.py:518 ../src/gajim-remote.py:540 -msgid "Wrong uri" -msgstr "Mauvaise adresse (URI)" - -#: ../src/gajim-remote.py:109 -#, fuzzy -msgid "one of: offline, online, chat, away, xa, dnd, invisible. If not set, use account's previous status" -msgstr "un parmi : offline, online, chat, away, xa, dnd, invisible " +"Change l'état du compte \"compte\". Si aucun n'est spécifié, essaye de " +"changer l'état de tous les compte qui ont l'option \"synchroniser avec " +"l'état global\" activée" #: ../src/gajim-remote.py:117 msgid "Changes the priority of account or accounts" @@ -8085,31 +8463,229 @@ msgid "priority you want to give to the account" msgstr "priorité que vous voulez donner au compte" #: ../src/gajim-remote.py:121 -msgid "change the priority of the given account. If not specified, change status of all accounts that have \"sync with global status\" option set" -msgstr "Change la priorité du compte spécifié. Si aucun compte n'est spécifié, change la priorité de tous les comptes qui ont l'option « synchroniser avec l'état global » activée" +msgid "" +"change the priority of the given account. If not specified, change status of " +"all accounts that have \"sync with global status\" option set" +msgstr "" +"Change la priorité du compte spécifié. Si aucun compte n'est spécifié, " +"change la priorité de tous les comptes qui ont l'option « synchroniser avec " +"l'état global » activée" + +#: ../src/gajim-remote.py:127 +msgid "Shows the chat dialog so that you can send messages to a contact" +msgstr "" +"Montre la fenêtre de discussion pour que vous puissiez envoyer un message à " +"un contact" + +#: ../src/gajim-remote.py:129 +msgid "JID of the contact that you want to chat with" +msgstr "L'identifiant Jabber du contact avec lequel vous voulez discuter" + +#: ../src/gajim-remote.py:131 ../src/gajim-remote.py:221 +msgid "if specified, contact is taken from the contact list of this account" +msgstr "Si spécifié, le contact est pris dans la liste de contact de ce compte" #: ../src/gajim-remote.py:134 msgid "message content. The account must be specified or \"\"" msgstr "contenu du message. Le compte doit être spécifié ou \"\"" +#: ../src/gajim-remote.py:139 +msgid "" +"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 ''." +msgstr "" +"Envoyer un nouveau message à un contact dans la liste. La clé OpenPGP et le " +"compte sont facultatifs. Si vous voulez seulement renseigner le paramètre " +"'compte' sans 'clé pgp', mettez simple la valeur '' pour 'clé pgp'." + +#: ../src/gajim-remote.py:143 ../src/gajim-remote.py:156 +msgid "JID of the contact that will receive the message" +msgstr "L'identifiant Jabber du contact qui recevra le message" + +#: ../src/gajim-remote.py:144 ../src/gajim-remote.py:158 +#: ../src/gajim-remote.py:169 +msgid "message contents" +msgstr "contenu du message" + +#: ../src/gajim-remote.py:145 ../src/gajim-remote.py:159 +msgid "pgp key" +msgstr "clé pgp" + +#: ../src/gajim-remote.py:145 ../src/gajim-remote.py:159 +msgid "if specified, the message will be encrypted using this public key" +msgstr "Si spécifié, le message sera chiffré en utilisant cette clé publique" + +#: ../src/gajim-remote.py:147 ../src/gajim-remote.py:161 +#: ../src/gajim-remote.py:170 +msgid "if specified, the message will be sent using this account" +msgstr "Si spécifié, le message sera envoyé en utilisant ce compte" + +#: ../src/gajim-remote.py:152 +msgid "" +"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 ''." +msgstr "" +"Envoyer un nouveau message simple à un contact dans la liste. La clé OpenPGP " +"et le compte sont facultatifs. Si vous voulez seulement renseigner le " +"paramètre 'compte' sans 'clé pgp', mettez simple la valeur '' pour 'clé pgp'." + +#: ../src/gajim-remote.py:157 +msgid "subject" +msgstr "sujet" + +#: ../src/gajim-remote.py:157 +msgid "message subject" +msgstr "sujet du message" + +#: ../src/gajim-remote.py:166 +msgid "Sends new message to a groupchat you've joined." +msgstr "Envoie un nouveau message à un salon que vous avez rejoint." + +#: ../src/gajim-remote.py:168 +msgid "JID of the room that will receive the message" +msgstr "L'identifiant Jabber du salon qui recevra le message" + +#: ../src/gajim-remote.py:175 +msgid "Gets detailed info on a contact" +msgstr "Récupère les informations détaillées d'un contact" + +#: ../src/gajim-remote.py:177 ../src/gajim-remote.py:190 +#: ../src/gajim-remote.py:220 ../src/gajim-remote.py:229 +msgid "JID of the contact" +msgstr "L'identifiant Jabber du contact" + +#: ../src/gajim-remote.py:181 +msgid "Gets detailed info on a account" +msgstr "Récupère les informations détaillées d'un compte" + +#: ../src/gajim-remote.py:183 +msgid "Name of the account" +msgstr "Nom du compte" + +#: ../src/gajim-remote.py:187 +msgid "Sends file to a contact" +msgstr "Envoyer un fichier à un contact" + +#: ../src/gajim-remote.py:189 +msgid "file" +msgstr "fichier" + +#: ../src/gajim-remote.py:189 +msgid "File path" +msgstr "Chemin du fichier" + +#: ../src/gajim-remote.py:191 +msgid "if specified, file will be sent using this account" +msgstr "si spécifié, le message sera envoyé en utilisant ce compte" + +#: ../src/gajim-remote.py:196 +msgid "Lists all preferences and their values" +msgstr "Liste toutes les préférences et leurs valeurs" + +#: ../src/gajim-remote.py:200 +msgid "Sets value of 'key' to 'value'." +msgstr "Définir la valeur de 'clé' à 'valeur'." + +#: ../src/gajim-remote.py:202 +msgid "key=value" +msgstr "clé=valeur" + +#: ../src/gajim-remote.py:202 +msgid "'key' is the name of the preference, 'value' is the value to set it to" +msgstr "'clé' est le nom de la préférence, 'valeur' est la valeur à assigner" + +#: ../src/gajim-remote.py:207 +msgid "Deletes a preference item" +msgstr "Supprime une option de préférence" + +#: ../src/gajim-remote.py:209 +msgid "key" +msgstr "touche" + +#: ../src/gajim-remote.py:209 +msgid "name of the preference to be deleted" +msgstr "nom de la préférence a supprimer" + +#: ../src/gajim-remote.py:213 +msgid "Writes the current state of Gajim preferences to the .config file" +msgstr "Écrit les préférences actuelles de Gajim dans le fichier .config" + +#: ../src/gajim-remote.py:218 +msgid "Removes contact from roster" +msgstr "Enlever le contact de la liste" + +#: ../src/gajim-remote.py:227 +msgid "Adds contact to roster" +msgstr "Ajouter le contact à la liste" + +#: ../src/gajim-remote.py:230 +msgid "Adds new contact to this account" +msgstr "Ajoute un nouveau contact à ce compte" + +#: ../src/gajim-remote.py:235 +msgid "Returns current status (the global one unless account is specified)" +msgstr "Renvoit l'état actuel (global à moins qu'un compte ne soit spécifié)" + #: ../src/gajim-remote.py:242 -msgid "Returns current status message (the global one unless account is specified)" -msgstr "Renvoie le message d'état actuel (global à moins qu'un compte ne soit spécifié)" +msgid "" +"Returns current status message (the global one unless account is specified)" +msgstr "" +"Renvoie le message d'état actuel (global à moins qu'un compte ne soit " +"spécifié)" + +#: ../src/gajim-remote.py:249 +msgid "Returns number of unread messages" +msgstr "Renvoie le nombre de messages non-lus" + +#: ../src/gajim-remote.py:253 +msgid "Opens 'Start Chat' dialog" +msgstr "Ouvre la fenêtre « Commencer une discussion »" + +#: ../src/gajim-remote.py:255 +msgid "Starts chat, using this account" +msgstr "Commencer une discussion en utilisant ce compte" + +#: ../src/gajim-remote.py:259 +msgid "Sends custom XML" +msgstr "Envoyer du XML personnalisé" + +#: ../src/gajim-remote.py:261 +msgid "XML to send" +msgstr "XML à envoyer" + +#: ../src/gajim-remote.py:262 +msgid "" +"Account in which the xml will be sent; if not specified, xml will be sent to " +"all accounts" +msgstr "" +"Compte dans lequel le XML sera envoyé ; si non spécifié, le XML sera envoyé " +"à tous les comptes" #: ../src/gajim-remote.py:268 -#, fuzzy msgid "Change the avatar" -msgstr "Modifier le statut" +msgstr "Modifier l'avatar" #: ../src/gajim-remote.py:270 -#, fuzzy msgid "Picture to use" -msgstr "Surnom à utiliser" +msgstr "Image à utiliser" #: ../src/gajim-remote.py:271 -#, fuzzy -msgid "Account in which the avatar will be set; if not specified, the avatar will be set for all accounts" -msgstr "Compte dans lequel le XML sera envoyé ; si non spécifié, le XML sera envoyé à tous les comptes" +msgid "" +"Account in which the avatar will be set; if not specified, the avatar will " +"be set for all accounts" +msgstr "" +"Compte dans lequel l'avatar sera envoyé ; si non spécifié, l'avatar sera " +"envoyé à tous les comptes" + +#: ../src/gajim-remote.py:277 +msgid "Handle a xmpp:/ uri" +msgstr "Gère une URI du type xmpp:" + +#: ../src/gajim-remote.py:279 +msgid "uri" +msgstr "URI" #: ../src/gajim-remote.py:279 msgid "URI to handle" @@ -8123,14 +8699,30 @@ msgstr "Compte avec lequel vous voulez le gérer" msgid "Message content" msgstr "Contenu du message" +#: ../src/gajim-remote.py:286 +msgid "Join a MUC room" +msgstr "Joindre un groupe de discussions" + +#: ../src/gajim-remote.py:288 +msgid "room" +msgstr "groupe de discussion" + #: ../src/gajim-remote.py:288 msgid "Room JID" msgstr "JID du salon" +#: ../src/gajim-remote.py:289 +msgid "nick" +msgstr "pseudonyme" + #: ../src/gajim-remote.py:289 msgid "Nickname to use" msgstr "Surnom à utiliser" +#: ../src/gajim-remote.py:290 +msgid "password" +msgstr "mot de passe" + #: ../src/gajim-remote.py:290 msgid "Password to enter the room" msgstr "Mot de passe pour entrer dans le salon" @@ -8139,7 +8731,38 @@ msgstr "Mot de passe pour entrer dans le salon" msgid "Account from which you want to enter the room" msgstr "Le compte avec lequel vous voulez entrer dans le salon" -#: ../src/gajim-remote.py:431 +#: ../src/gajim-remote.py:296 +msgid "Check if Gajim is running" +msgstr "Vérifie si Gajim est lancé" + +#: ../src/gajim-remote.py:300 +msgid "Shows or hides the ipython window" +msgstr "Montre ou cache la fenêtre ipython" + +#: ../src/gajim-remote.py:327 +msgid "Missing argument \"contact_jid\"" +msgstr "Argument manquant \"jid_contact\"" + +#: ../src/gajim-remote.py:349 +#, python-format +msgid "" +"'%s' is not in your roster.\n" +"Please specify account for sending the message." +msgstr "" +"'%s' n'est pas dans votre liste de contact.\n" +"Précisez le compte pour envoyer le message." + +#: ../src/gajim-remote.py:352 +msgid "You have no active account" +msgstr "Vous n'avez aucun compte actif" + +#: ../src/gajim-remote.py:405 +msgid "It seems Gajim is not running. So you can't use gajim-remote." +msgstr "" +"Il semble que Gajim ne soit pas lancé. Vous ne pouvez donc pas utiliser " +"gajim-remote." + +#: ../src/gajim-remote.py:432 #, python-format msgid "" "Usage: %(basename)s %(command)s %(arguments)s \n" @@ -8148,7 +8771,25 @@ msgstr "" "Utilisation : %(basename)s %(command)s %(arguments)s \n" "\t %(help)s" -#: ../src/gajim-remote.py:514 +#: ../src/gajim-remote.py:436 +msgid "Arguments:" +msgstr "Arguments :" + +#: ../src/gajim-remote.py:440 +#, python-format +msgid "%s not found" +msgstr "%s non trouvé" + +#: ../src/gajim-remote.py:446 +#, python-format +msgid "" +"Usage: %s command [arguments]\n" +"Command is one of:\n" +msgstr "" +"Utilisation : %s commande [arguments]\n" +"commande est l'une de :\n" + +#: ../src/gajim-remote.py:515 #, python-format msgid "" "Too many arguments. \n" @@ -8157,7 +8798,7 @@ msgstr "" "Trop d'arguments.\n" "Tapez \"%(basename)s help %(command)s\" pour plus d'informations" -#: ../src/gajim-remote.py:519 +#: ../src/gajim-remote.py:520 #, python-format msgid "" "Argument \"%(arg)s\" is not specified. \n" @@ -8166,10 +8807,14 @@ msgstr "" "L'argument \"%(arg)s\" n'est pas précisé.\n" "Tapez \"%(basename)s help %(command)s\" pour plus d'informations" -#: ../src/gajim-remote.py:538 +#: ../src/gajim-remote.py:539 msgid "No uri given" msgstr "" +#: ../src/gajim-remote.py:541 +msgid "Wrong uri" +msgstr "Mauvaise adresse (URI)" + #: ../src/gajim_themes_window.py:59 msgid "Theme" msgstr "Thème" @@ -8193,176 +8838,219 @@ msgstr "Vous ne pouvez pas supprimer le thème actuellement utilisé" #: ../src/gajim_themes_window.py:187 msgid "Please first choose another for your current theme." -msgstr "Veuillez tout d'abord appliquer un autre thème avant de supprimer celui-ci." +msgstr "" +"Veuillez tout d'abord appliquer un autre thème avant de supprimer celui-ci." -#: ../src/groupchat_control.py:170 +#: ../src/groupchat_control.py:176 ../src/groupchat_control.py:1562 +#, python-format +msgid "%(nick)s is now known as %(new_nick)s" +msgstr "%(nick)s est maintenant connu en tant que %(new_nick)s" + +#: ../src/groupchat_control.py:202 ../src/groupchat_control.py:1760 +#: ../src/history_window.py:447 ../src/notify.py:169 +#, python-format +msgid "%(nick)s is now %(status)s" +msgstr "%(nick)s est maintenant %(status)s" + +#: ../src/groupchat_control.py:230 msgid "Sending private message failed" msgstr "L'envoi du message privé a échoué" #. in second %s code replaces with nickname -#: ../src/groupchat_control.py:172 +#: ../src/groupchat_control.py:232 #, python-format msgid "You are no longer in group chat \"%(room)s\" or \"%(nick)s\" has left." -msgstr "Vous n'êtes plus dans le salon « %(room)s » ou « %(nick)s » l'a quitté." +msgstr "" +"Vous n'êtes plus dans le salon « %(room)s » ou « %(nick)s » l'a quitté." -#: ../src/groupchat_control.py:455 +#: ../src/groupchat_control.py:561 msgid "Insert Nickname" msgstr "Insérer un surnom" -#: ../src/groupchat_control.py:636 +#: ../src/groupchat_control.py:746 msgid "Conversation with " msgstr "Conversation avec " -#: ../src/groupchat_control.py:638 +#: ../src/groupchat_control.py:748 msgid "Continued conversation" msgstr "Conversation continuée" +#: ../src/groupchat_control.py:1228 +#, python-format +msgid "%(nick)s has set the subject to %(subject)s" +msgstr "%(nick)s a changé le sujet en %(subject)s" + #. Can be a presence (see chg_contact_status in groupchat_control.py) -#: ../src/groupchat_control.py:1282 ../src/gui_interface.py:923 +#: ../src/groupchat_control.py:1246 ../src/groupchat_control.py:1505 msgid "Any occupant is allowed to see your full JID" -msgstr "N'importe quel occupant est autorisé à voir votre identifiant Jabber complet" +msgstr "" +"N'importe quel occupant est autorisé à voir votre identifiant Jabber complet" + +#: ../src/groupchat_control.py:1249 +msgid "Room now shows unavailable member" +msgstr "Le salon affiche dorénavant les membres non-disponibles" + +#: ../src/groupchat_control.py:1251 +msgid "room now does not show unavailable members" +msgstr "Le salon n'affiche plus les membres non-disponibles" + +#: ../src/groupchat_control.py:1253 +msgid "A non-privacy-related room configuration change has occurred" +msgstr "" +"Un changement de la configuration du salon relatif à la vie-privée a eu lieu" + +#. Can be a presence (see chg_contact_status in groupchat_control.py) +#: ../src/groupchat_control.py:1257 +msgid "Room logging is now enabled" +msgstr "L'enregistrement des conversations du salon est maintenant activé" + +#: ../src/groupchat_control.py:1259 +msgid "Room logging is now disabled" +msgstr "L'enregistrement des conversations du salon est maintenant désactivé" + +#: ../src/groupchat_control.py:1261 +msgid "Room is now non-anonymous" +msgstr "Le salon n'est plus anonyme" + +#: ../src/groupchat_control.py:1264 +msgid "Room is now semi-anonymous" +msgstr "Le salon est maintenant sami-anonyme" + +#: ../src/groupchat_control.py:1267 +msgid "Room is now fully-anonymous" +msgstr "Le salon est maintenant totalement anonyme" #. Can be a message (see handle_event_gc_config_change in #. gajim.py) -#: ../src/groupchat_control.py:1286 +#: ../src/groupchat_control.py:1509 msgid "Room logging is enabled" msgstr "L'enregistrement des conversations du salon est activé" -#: ../src/groupchat_control.py:1288 +#: ../src/groupchat_control.py:1511 msgid "A new room has been created" msgstr "Un nouveau salon a été créé" -#: ../src/groupchat_control.py:1291 +#: ../src/groupchat_control.py:1514 msgid "The server has assigned or modified your roomnick" msgstr "Le serveur à défini ou midifié votre Surnom de salon" #. do not print 'kicked by None' -#: ../src/groupchat_control.py:1297 +#: ../src/groupchat_control.py:1520 #, python-format msgid "%(nick)s has been kicked: %(reason)s" msgstr "%(nick)s a été éjecté : %(reason)s" -#: ../src/groupchat_control.py:1300 +#: ../src/groupchat_control.py:1523 #, python-format msgid "%(nick)s has been kicked by %(who)s: %(reason)s" msgstr "%(nick)s a été éjecté par %(who)s : %(reason)s" #. do not print 'banned by None' -#: ../src/groupchat_control.py:1309 +#: ../src/groupchat_control.py:1532 #, python-format msgid "%(nick)s has been banned: %(reason)s" msgstr "%(nick)s a été banni : %(reason)s" -#: ../src/groupchat_control.py:1312 +#: ../src/groupchat_control.py:1535 #, python-format msgid "%(nick)s has been banned by %(who)s: %(reason)s" msgstr "%(nick)s a été banni par %(who)s : %(reason)s" -#: ../src/groupchat_control.py:1323 ../src/groupchat_control.py:1427 +#: ../src/groupchat_control.py:1546 ../src/groupchat_control.py:1650 #, python-format msgid "You are now known as %s" msgstr "Vous êtes désormais connu sous le nom de %s" -#: ../src/groupchat_control.py:1339 ../src/gui_interface.py:763 -#, python-format -msgid "%(nick)s is now known as %(new_nick)s" -msgstr "%(nick)s est maintenant connu en tant que %(new_nick)s" - -#: ../src/groupchat_control.py:1381 ../src/groupchat_control.py:1386 -#: ../src/groupchat_control.py:1392 +#: ../src/groupchat_control.py:1604 ../src/groupchat_control.py:1609 +#: ../src/groupchat_control.py:1615 #, python-format msgid "%(nick)s has been removed from the room (%(reason)s)" msgstr "%(nick)s a été éjecté du salon (%(reason)s)" -#: ../src/groupchat_control.py:1383 +#: ../src/groupchat_control.py:1606 msgid "affiliation changed" msgstr "Changement d'affiliation" -#: ../src/groupchat_control.py:1388 +#: ../src/groupchat_control.py:1611 msgid "room configuration changed to members-only" msgstr "La configuration du salon a changé pour « membres seulement »" -#: ../src/groupchat_control.py:1394 +#: ../src/groupchat_control.py:1617 msgid "system shutdown" msgstr "Extinction du système" -#: ../src/groupchat_control.py:1477 +#: ../src/groupchat_control.py:1700 #, python-format msgid "** Affiliation of %(nick)s has been set to %(affiliation)s by %(actor)s" -msgstr "** L'affiliation de %(nick)s a été définie à %(affiliation)s par %(actor)s" +msgstr "" +"** L'affiliation de %(nick)s a été définie à %(affiliation)s par %(actor)s" -#: ../src/groupchat_control.py:1481 +#: ../src/groupchat_control.py:1704 #, python-format msgid "** Affiliation of %(nick)s has been set to %(affiliation)s" msgstr "** L'affiliation de %(nick)s a été définie à %(affiliation)s" -#: ../src/groupchat_control.py:1496 +#: ../src/groupchat_control.py:1719 #, python-format msgid "** Role of %(nick)s has been set to %(role)s by %(actor)s" msgstr "** Le rôle de %(nick)s a été défini à %(role)s par %(actor)s" -#: ../src/groupchat_control.py:1500 +#: ../src/groupchat_control.py:1723 #, python-format msgid "** Role of %(nick)s has been set to %(role)s" msgstr "** Le rôle de %(nick)s a été défini à %(role)s" -#: ../src/groupchat_control.py:1530 +#: ../src/groupchat_control.py:1753 #, python-format msgid "%s has left" msgstr "%s est parti" -#: ../src/groupchat_control.py:1535 +#: ../src/groupchat_control.py:1758 #, python-format msgid "%s has joined the group chat" msgstr "%s a rejoint le salon de discussion" -#: ../src/groupchat_control.py:1537 ../src/gui_interface.py:790 -#: ../src/history_window.py:447 ../src/notify.py:234 -#, python-format -msgid "%(nick)s is now %(status)s" -msgstr "%(nick)s est maintenant %(status)s" - -#: ../src/groupchat_control.py:1774 +#: ../src/groupchat_control.py:2014 #, python-format msgid "Are you sure you want to leave group chat \"%s\"?" msgstr "Êtes-vous sûr de vouloir quitter le salon \"%s\" ?" -#: ../src/groupchat_control.py:1776 -msgid "If you close this window, you will be disconnected from this group chat." +#: ../src/groupchat_control.py:2016 +msgid "" +"If you close this window, you will be disconnected from this group chat." msgstr "Si vous fermez cette fenêtre, vous serez déconnecté(e) de ce salon." -#: ../src/groupchat_control.py:1780 ../src/gui_interface.py:1021 -#: ../src/gui_interface.py:1781 ../src/gui_interface.py:1818 -#: ../src/gui_interface.py:1853 ../src/message_window.py:224 -#: ../src/roster_window.py:2805 ../src/roster_window.py:3465 -#: ../src/roster_window.py:4195 -#, fuzzy +#: ../src/groupchat_control.py:2020 ../src/gui_interface.py:693 +#: ../src/gui_interface.py:1302 ../src/gui_interface.py:1342 +#: ../src/gui_interface.py:1383 ../src/message_window.py:224 +#: ../src/roster_window.py:2946 ../src/roster_window.py:3617 +#: ../src/roster_window.py:4380 msgid "_Do not ask me again" msgstr "_Ne plus me poser la question" -#: ../src/groupchat_control.py:1814 +#: ../src/groupchat_control.py:2054 msgid "Changing Subject" msgstr "Changement de Sujet" -#: ../src/groupchat_control.py:1815 +#: ../src/groupchat_control.py:2055 msgid "Please specify the new subject:" msgstr "Saisissez le nouveau sujet :" -#: ../src/groupchat_control.py:1822 +#: ../src/groupchat_control.py:2062 msgid "Changing Nickname" msgstr "Changement de Surnom" -#: ../src/groupchat_control.py:1823 +#: ../src/groupchat_control.py:2063 msgid "Please specify the new nickname you want to use:" msgstr "Saisissez le nouveau surnom que vous souhaitez utiliser :" #. Ask for a reason -#: ../src/groupchat_control.py:1854 +#: ../src/groupchat_control.py:2094 #, python-format msgid "Destroying %s" msgstr "Destruction de %s" -#: ../src/groupchat_control.py:1855 +#: ../src/groupchat_control.py:2095 msgid "" "You are going to definitively destroy this room.\n" "You may specify a reason below:" @@ -8370,22 +9058,22 @@ msgstr "" "Vous êtes sur le point de supprimer définitivement ce salon.\n" "Vous pouvez spécifier une raison ci-dessous :" -#: ../src/groupchat_control.py:1857 +#: ../src/groupchat_control.py:2097 msgid "You may also enter an alternate venue:" msgstr "Vous pouvez également entrer une juridiction alternative :" #. ask for reason -#: ../src/groupchat_control.py:2046 +#: ../src/groupchat_control.py:2292 #, python-format msgid "Kicking %s" msgstr "Exclusion de %s" -#: ../src/groupchat_control.py:2047 ../src/groupchat_control.py:2374 +#: ../src/groupchat_control.py:2293 ../src/groupchat_control.py:2630 msgid "You may specify a reason below:" msgstr "Vous pouvez saisir une raison ci-dessous :" #. ask for reason -#: ../src/groupchat_control.py:2373 +#: ../src/groupchat_control.py:2629 #, python-format msgid "Banning %s" msgstr "Bannissement de %s" @@ -8395,8 +9083,12 @@ msgid "A programming error has been detected" msgstr "Une erreur de programmation a été détectée" #: ../src/gtkexcepthook.py:47 -msgid "It probably is not fatal, but should be reported to the developers nonetheless." -msgstr "Elle n'est probablement pas fatale mais devrait quand même être communiquée aux développeurs." +msgid "" +"It probably is not fatal, but should be reported to the developers " +"nonetheless." +msgstr "" +"Elle n'est probablement pas fatale mais devrait quand même être communiquée " +"aux développeurs." #: ../src/gtkexcepthook.py:54 msgid "_Report Bug" @@ -8412,151 +9104,157 @@ msgstr "Détails" msgid "Error: cannot open %s for reading" msgstr "Erreur : impossible d'ouvrir %s en lecture" -#: ../src/gtkgui_helpers.py:404 +#: ../src/gtkgui_helpers.py:348 msgid "Error reading file:" msgstr "Erreur de lecture du fichier :" -#: ../src/gtkgui_helpers.py:407 +#: ../src/gtkgui_helpers.py:351 msgid "Error parsing file:" msgstr "Erreur lors de l'analyse du fichier :" #. do not traceback (could be a permission problem) #. we talk about a file here -#: ../src/gtkgui_helpers.py:448 +#: ../src/gtkgui_helpers.py:392 #, python-format msgid "Could not write to %s. Session Management support will not work" msgstr "N'a pas pu écrire dans %s. La gestion des sessions ne fonctionnera pas" #. xmpp: is currently handled by another program, so ask the user -#: ../src/gtkgui_helpers.py:822 +#: ../src/gtkgui_helpers.py:766 msgid "Gajim is not the default Jabber client" msgstr "Gajim n'est pas le client Jabber par défaut" -#: ../src/gtkgui_helpers.py:823 +#: ../src/gtkgui_helpers.py:767 msgid "Would you like to make Gajim the default Jabber client?" msgstr "Voulez vous faire de Gajim le client Jabber par défaut ?" -#: ../src/gtkgui_helpers.py:824 +#: ../src/gtkgui_helpers.py:768 msgid "Always check to see if Gajim is the default Jabber client on startup" -msgstr "Toujours vérifier que Gajim est le client Jabber par défaut au démarrage" +msgstr "" +"Toujours vérifier que Gajim est le client Jabber par défaut au démarrage" -#: ../src/gtkgui_helpers.py:891 +#: ../src/gtkgui_helpers.py:835 msgid "Extension not supported" msgstr "Extension non supportée" -#: ../src/gtkgui_helpers.py:892 +#: ../src/gtkgui_helpers.py:836 #, python-format msgid "Image cannot be saved in %(type)s format. Save as %(new_filename)s?" -msgstr "L'image ne peut être enregistrée en format %(type)s. Enregistrer en tant que %(new_filename)s ?" +msgstr "" +"L'image ne peut être enregistrée en format %(type)s. Enregistrer en tant que " +"%(new_filename)s ?" -#: ../src/gtkgui_helpers.py:928 +#: ../src/gtkgui_helpers.py:872 msgid "Save Image as..." msgstr "Enregistrer l'image sous..." #. we are banned #. group chat does not exist -#: ../src/gui_interface.py:137 ../src/gui_interface.py:323 -#: ../src/gui_interface.py:332 ../src/gui_interface.py:337 -#: ../src/gui_interface.py:340 ../src/gui_interface.py:343 -#: ../src/gui_interface.py:348 +#: ../src/gui_interface.py:126 ../src/gui_interface.py:281 +#: ../src/gui_interface.py:290 ../src/gui_interface.py:295 +#: ../src/gui_interface.py:298 ../src/gui_interface.py:301 +#: ../src/gui_interface.py:306 msgid "Unable to join group chat" msgstr "Impossible de rejoindre le salon" -#: ../src/gui_interface.py:138 +#: ../src/gui_interface.py:127 #, python-format msgid "" -"Your desired nickname in group chat %s is in use or registered by another occupant.\n" +"Your desired nickname in group chat %s is in use or registered by another " +"occupant.\n" "Please specify another nickname below:" msgstr "" -"Le surnom que vous vouliez utiliser dans le salon %s est actuellement utilisé ou enregistré par un autre occupant.\n" +"Le surnom que vous vouliez utiliser dans le salon %s est actuellement " +"utilisé ou enregistré par un autre occupant.\n" "Veuillez entrer un autre surnom ci-dessous :" -#: ../src/gui_interface.py:141 +#: ../src/gui_interface.py:130 msgid "Always use this nickname when there is a conflict" msgstr "Toujours utiliser ce pseudo en cas de conflit" -#: ../src/gui_interface.py:158 +#: ../src/gui_interface.py:147 msgid "Do you accept this request?" msgstr "Acceptez vous sa requête ?" -#: ../src/gui_interface.py:160 +#: ../src/gui_interface.py:149 #, python-format msgid "Do you accept this request on account %s?" msgstr "Acceptez vous cette requête sur le compte %s ?" -#: ../src/gui_interface.py:163 +#: ../src/gui_interface.py:152 #, python-format msgid "HTTP (%(method)s) Authorization for %(url)s (id: %(id)s)" msgstr "Autorisation HTTP (%(method)s) pour %(url)s (id : %(id)s)" -#: ../src/gui_interface.py:209 ../src/notify.py:493 +#: ../src/gui_interface.py:195 ../src/notify.py:439 msgid "Connection Failed" msgstr "La connexion a échoué" -#: ../src/gui_interface.py:312 +#: ../src/gui_interface.py:270 #, python-format msgid "A Password is required to join the room %s. Please type it." -msgstr "Un mot de passe est requis pour rejoindre le salon %s. Veuillez le taper." +msgstr "" +"Un mot de passe est requis pour rejoindre le salon %s. Veuillez le taper." -#: ../src/gui_interface.py:324 +#: ../src/gui_interface.py:282 #, python-format msgid "Maximum number of users for %s has been reached" msgstr "Le nombre maximal d'utilisateurs pour %s a été atteint" -#: ../src/gui_interface.py:333 +#: ../src/gui_interface.py:291 #, python-format msgid "You are banned from group chat %s." msgstr "Vous êtes banni du salon %s." -#: ../src/gui_interface.py:338 +#: ../src/gui_interface.py:296 #, python-format msgid "Group chat %s does not exist." msgstr "Le salon %s n'existe pas." -#: ../src/gui_interface.py:341 +#: ../src/gui_interface.py:299 msgid "Group chat creation is restricted." msgstr "La création de salon est réservée aux administrateurs." -#: ../src/gui_interface.py:344 +#: ../src/gui_interface.py:302 #, python-format msgid "Your registered nickname must be used in group chat %s." msgstr "Votre pseudonyme enregistré doit être utilisé dans le salon %s." -#: ../src/gui_interface.py:349 +#: ../src/gui_interface.py:307 #, python-format msgid "You are not in the members list in groupchat %s." msgstr "Vous n'êtes pas dans la liste des membres du salon %s." -#: ../src/gui_interface.py:483 ../src/gui_interface.py:487 +#: ../src/gui_interface.py:438 ../src/gui_interface.py:442 #, python-format msgid "Error %(code)s: %(msg)s" msgstr "Erreur %(code)s : %(msg)s" #. ('MSGNOTSENT', account, (jid, ierror_msg, msg, time, session)) -#: ../src/gui_interface.py:498 ../src/gui_interface.py:513 +#: ../src/gui_interface.py:453 ../src/gui_interface.py:467 #, python-format msgid "error while sending %(message)s ( %(error)s )" msgstr "erreur en envoyant %(message)s ( %(error)s )" -#: ../src/gui_interface.py:540 ../src/notify.py:495 +#: ../src/gui_interface.py:494 ../src/notify.py:441 msgid "Subscription request" msgstr "Requête d'Inscription" -#: ../src/gui_interface.py:565 +#: ../src/gui_interface.py:519 msgid "Authorization accepted" msgstr "Autorisation acceptée" -#: ../src/gui_interface.py:566 +#: ../src/gui_interface.py:520 #, python-format msgid "The contact \"%s\" has authorized you to see his or her status." msgstr "Le contact \"%s\" vous a autorisé à voir son état." -#: ../src/gui_interface.py:579 +#: ../src/gui_interface.py:528 #, python-format msgid "Contact \"%s\" removed subscription from you" msgstr "Le contact \"%s\" a cessé de vous souscrire à sa présence" -#: ../src/gui_interface.py:580 +#: ../src/gui_interface.py:529 msgid "" "You will always see him or her as offline.\n" "Do you want to remove him or her from your contact list?" @@ -8564,95 +9262,69 @@ msgstr "" "Vous le/la verrez toujours hors-ligne.\n" "Voulez vous le/la supprimer de votre liste de contacts ?" -#: ../src/gui_interface.py:604 ../src/notify.py:497 +#: ../src/gui_interface.py:550 ../src/notify.py:443 msgid "Unsubscribed" msgstr "Désinscrit(e)" -#: ../src/gui_interface.py:631 +#: ../src/gui_interface.py:561 #, python-format msgid "Contact with \"%s\" cannot be established" msgstr "Le contact avec \"%s\" ne peut être établi" -#: ../src/gui_interface.py:859 -#, python-format -msgid "%(jid)s has set the subject to %(subject)s" -msgstr "%(jid)s a changé le sujet en %(subject)s" +#: ../src/gui_interface.py:659 +msgid "" +"You configured Gajim to use GPG agent, but there is no GPG agent running or " +"it returned a wrong passphrase.\n" +msgstr "" +"Vous avez configuré Gajim pour qu'il utilise un agent GPG, mais aucun agent " +"GPG n'est lancé ou il a renvoyé un mauvais mot de passe.\n" -#: ../src/gui_interface.py:926 -msgid "Room now shows unavailable member" -msgstr "Le salon affiche dorénavant les membres non-disponibles" - -#: ../src/gui_interface.py:928 -msgid "room now does not show unavailable members" -msgstr "Le salon n'affiche plus les membres non-disponibles" - -#: ../src/gui_interface.py:930 -msgid "A non-privacy-related room configuration change has occurred" -msgstr "Un changement de la configuration du salon relatif à la vie-privée a eu lieu" - -#. Can be a presence (see chg_contact_status in groupchat_control.py) -#: ../src/gui_interface.py:934 -msgid "Room logging is now enabled" -msgstr "L'enregistrement des conversations du salon est maintenant activé" - -#: ../src/gui_interface.py:936 -msgid "Room logging is now disabled" -msgstr "L'enregistrement des conversations du salon est maintenant désactivé" - -#: ../src/gui_interface.py:938 -msgid "Room is now non-anonymous" -msgstr "Le salon n'est plus anonyme" - -#: ../src/gui_interface.py:941 -msgid "Room is now semi-anonymous" -msgstr "Le salon est maintenant sami-anonyme" - -#: ../src/gui_interface.py:944 -msgid "Room is now fully-anonymous" -msgstr "Le salon est maintenant totalement anonyme" - -#: ../src/gui_interface.py:985 -msgid "You configured Gajim to use GPG agent, but there is no GPG agent running or it returned a wrong passphrase.\n" -msgstr "Vous avez configuré Gajim pour qu'il utilise un agent GPG, mais aucun agent GPG n'est lancé ou il a renvoyé un mauvais mot de passe.\n" - -#: ../src/gui_interface.py:987 ../src/gui_interface.py:994 +#: ../src/gui_interface.py:661 ../src/gui_interface.py:669 msgid "You are currently connected without your OpenPGP key." msgstr "Vous êtes actuellement connecté sans clé OpenPGP." -#: ../src/gui_interface.py:989 +#: ../src/gui_interface.py:663 msgid "Your passphrase is incorrect" msgstr "Votre mot de passe est incorrect" -#: ../src/gui_interface.py:993 +#: ../src/gui_interface.py:668 msgid "OpenGPG Passphrase Incorrect" msgstr "Mot de passe OpenGPG est incorrect" -#: ../src/gui_interface.py:1019 +#: ../src/gui_interface.py:691 msgid "GPG key not trusted" msgstr "la clef GPG n'est pas une clef de confiance" -#: ../src/gui_interface.py:1019 -msgid "The GPG key used to encrypt this chat is not trusted. Do you really want to encrypt this message?" -msgstr "La clef GPG utilisé pour chiffrer cette conversation n'est pas une clef de confiance. Voulez-vous vraiment chiffrer ce message ?" +#: ../src/gui_interface.py:691 +msgid "" +"The GPG key used to encrypt this chat is not trusted. Do you really want to " +"encrypt this message?" +msgstr "" +"La clef GPG utilisé pour chiffrer cette conversation n'est pas une clef de " +"confiance. Voulez-vous vraiment chiffrer ce message ?" -#: ../src/gui_interface.py:1031 +#: ../src/gui_interface.py:704 #, fuzzy -msgid "Gnome Keyring is installed but not correctly started (environment variable probably not correctly set)" -msgstr "Gnome Keyring est installé mais pas \t\t\t\tcorrectement démarré (variable d'environnement probablement \t\t\t\tmal configurée)" +msgid "" +"Gnome Keyring is installed but not correctly started " +"(environment variable probably not correctly set)" +msgstr "" +"Gnome Keyring est installé mais pas \t\t\t\tcorrectement démarré (variable " +"d'environnement probablement \t\t\t\tmal configurée)" -#: ../src/gui_interface.py:1131 +#: ../src/gui_interface.py:811 #, python-format msgid "New mail on %(gmail_mail_address)s" msgstr "Nouveau courriel sur %(gmail_mail_address)s" -#: ../src/gui_interface.py:1133 +#: ../src/gui_interface.py:813 #, python-format msgid "You have %d new mail conversation" msgid_plural "You have %d new mail conversations" msgstr[0] "Vous avez %d nouveau courrier électronique" msgstr[1] "Vous avez %d nouveaux courriers électroniques" -#: ../src/gui_interface.py:1146 +#: ../src/gui_interface.py:826 #, python-format msgid "" "\n" @@ -8667,200 +9339,215 @@ msgstr "" "Sujet : %(subject)s\n" "%(snippet)s" -#: ../src/gui_interface.py:1215 +#: ../src/gui_interface.py:891 #, python-format msgid "%s wants to send you a file." msgstr "%s souhaite vous envoyer un fichier." -#: ../src/gui_interface.py:1252 ../src/roster_window.py:1877 +#: ../src/gui_interface.py:928 ../src/roster_window.py:1896 msgid "Remote contact stopped transfer" msgstr "Le contact distant à stoppé le transfert" -#: ../src/gui_interface.py:1255 ../src/roster_window.py:1879 +#: ../src/gui_interface.py:931 ../src/roster_window.py:1898 msgid "Error opening file" msgstr "Erreur à l'ouverture du fichier" -#: ../src/gui_interface.py:1287 +#: ../src/gui_interface.py:963 #, python-format msgid "You successfully received %(filename)s from %(name)s." msgstr "Vous avez bien reçu %(filename)s de la part de %(name)s." #. ft stopped -#: ../src/gui_interface.py:1291 +#: ../src/gui_interface.py:967 #, python-format msgid "File transfer of %(filename)s from %(name)s stopped." -msgstr "Le transfert du fichier %(filename)s de la part de %(name)s est arrêté." +msgstr "" +"Le transfert du fichier %(filename)s de la part de %(name)s est arrêté." -#: ../src/gui_interface.py:1304 +#: ../src/gui_interface.py:980 #, python-format msgid "You successfully sent %(filename)s to %(name)s." msgstr "Vous avez bien envoyé %(filename)s à %(name)s." #. ft stopped -#: ../src/gui_interface.py:1308 +#: ../src/gui_interface.py:984 #, python-format msgid "File transfer of %(filename)s to %(name)s stopped." msgstr "Le transfert du fichier %(filename)s à %(name)s est arrêté." -#: ../src/gui_interface.py:1426 -#, python-format -msgid "" -"Unable to decrypt message from %s\n" -"It may have been tampered with." -msgstr "" -"Impossible de déchiffrer le message de %s\n" -"Il a peut-être été manipulé." - -#: ../src/gui_interface.py:1433 +#: ../src/gui_interface.py:1059 msgid "Unable to decrypt message" msgstr "Impossible de déchiffrer le message" -#: ../src/gui_interface.py:1505 +#: ../src/gui_interface.py:1071 msgid "Username Conflict" msgstr "Conflit de nom d'utilisateur" -#: ../src/gui_interface.py:1506 +#: ../src/gui_interface.py:1072 msgid "Please type a new username for your local account" msgstr "Veuillez entrer un nouveau surnom pour votre compte local" -#: ../src/gui_interface.py:1519 -msgid "Ping?" -msgstr "Ping ?" - -#: ../src/gui_interface.py:1532 -#, python-format -msgid "Pong! (%s s.)" -msgstr "Pong ! (%s s.)" - -#: ../src/gui_interface.py:1543 -msgid "Error." -msgstr "Erreur." - -#: ../src/gui_interface.py:1556 +#: ../src/gui_interface.py:1087 msgid "Resource Conflict" msgstr "Conflit de ressource" -#: ../src/gui_interface.py:1557 -msgid "You are already connected to this account with the same resource. Please type a new one" -msgstr "Vous êtes déjà connecté à ce compte avec la même ressource. Veuillez en entrer une nouvelle" +#: ../src/gui_interface.py:1088 +msgid "" +"You are already connected to this account with the same resource. Please " +"type a new one" +msgstr "" +"Vous êtes déjà connecté à ce compte avec la même ressource. Veuillez en " +"entrer une nouvelle" #. TODO: we should use another pixmap ;-) -#: ../src/gui_interface.py:1604 +#: ../src/gui_interface.py:1133 #, python-format msgid "%s wants to start a voice chat." msgstr "%s souhaite vous envoyer un fichier." -#: ../src/gui_interface.py:1607 +#: ../src/gui_interface.py:1136 msgid "Voice Chat Request" msgstr "Requête de transfert de fichier" -#: ../src/gui_interface.py:1716 +#: ../src/gui_interface.py:1223 msgid "Error verifying SSL certificate" msgstr "Erreur durant la vérification du certificat SSL" -#: ../src/gui_interface.py:1717 +#: ../src/gui_interface.py:1224 #, python-format msgid "" -"There was an error verifying the SSL certificate of your jabber server: %(error)s\n" +"There was an error verifying the SSL certificate of your jabber server: " +"%(error)s\n" "Do you still want to connect to this server?" msgstr "" -"Une erreur est survenue lors de la vérification du certificat SSL de votre serveur Jabber : %(error)s\n" +"Une erreur est survenue lors de la vérification du certificat SSL de votre " +"serveur Jabber : %(error)s\n" "Voulez-vous toujours vous connecter à ce serveur ?" -#: ../src/gui_interface.py:1725 +#: ../src/gui_interface.py:1233 msgid "Ignore this error for this certificate." msgstr "Ignorer cette erreur pour ce certificat." -#: ../src/gui_interface.py:1745 +#: ../src/gui_interface.py:1258 msgid "SSL certificate error" msgstr "Erreur de certificat SSL" -#: ../src/gui_interface.py:1746 +#: ../src/gui_interface.py:1259 #, python-format msgid "" -"It seems the SSL certificate of account %(account)s has changed or your connection is being hacked.\n" +"It seems the SSL certificate of account %(account)s has changed or your " +"connection is being hacked.\n" "Old fingerprint: %(old)s\n" "New fingerprint: %(new)s\n" "\n" "Do you still want to connect and update the fingerprint of the certificate?" msgstr "" -"Le certificat SSL du compte %(account)s semble avoir changé, ou votre connexion est en train d'être « hackée ».\n" +"Le certificat SSL du compte %(account)s semble avoir changé, ou votre " +"connexion est en train d'être « hackée ».\n" "Ancienne empreinte digitale : %(old)s\n" "Nouvelle empreinte digitale : %(new)s\n" "\n" -"Voulez vous toujours vous connecter et mettre à jour l'empreinte digitale du certificat ?" +"Voulez vous toujours vous connecter et mettre à jour l'empreinte digitale du " +"certificat ?" -#: ../src/gui_interface.py:1776 ../src/gui_interface.py:1813 -#: ../src/gui_interface.py:1849 +#: ../src/gui_interface.py:1295 ../src/gui_interface.py:1337 +#: ../src/gui_interface.py:1379 msgid "Insecure connection" msgstr "Connexion non-sécurisée" -#: ../src/gui_interface.py:1777 -#, fuzzy -msgid "You are about to connect to the server with an insecure connection. This means all your conversations will be exchanged unencrypted. Are you sure you want to do that?" -msgstr "Vous êtes sur le point d'envoyer votre mot de passe sur une connexion non-sécurisée. Vous devriez installer PyOpenSSL pour empêcher cela. Êtes-vous sûr de vouloir le faire ?" +#: ../src/gui_interface.py:1296 +#, python-format +msgid "" +"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. Are you sure you want to do that?" +msgstr "" +"Vous êtes sur le point de vous connecter au compte %(account)s (%(server)s) " +"avec une connexion non-sécurisée. Cela signifie que toutes vos conversations " +"ne seront pas chiffrées. Êtes vous sûr de vouloir faire cela ?" -#: ../src/gui_interface.py:1780 ../src/gui_interface.py:1817 -#: ../src/gui_interface.py:1852 +#: ../src/gui_interface.py:1301 ../src/gui_interface.py:1341 +#: ../src/gui_interface.py:1382 msgid "Yes, I really want to connect insecurely" msgstr "Oui, je veux vraiment me connecter de façon non-sécurisée" -#: ../src/gui_interface.py:1814 -msgid "You are about to send your password on an insecure connection. You should install PyOpenSSL to prevent that. Are you sure you want to do that?" -msgstr "Vous êtes sur le point d'envoyer votre mot de passe sur une connexion non-sécurisée. Vous devriez installer PyOpenSSL pour empêcher cela. Êtes-vous sûr de vouloir le faire ?" +#: ../src/gui_interface.py:1338 +msgid "" +"You are about to send your password on an insecure connection. You should " +"install PyOpenSSL to prevent that. Are you sure you want to do that?" +msgstr "" +"Vous êtes sur le point d'envoyer votre mot de passe sur une connexion non-" +"sécurisée. Vous devriez installer PyOpenSSL pour empêcher cela. Êtes-vous " +"sûr de vouloir le faire ?" -#: ../src/gui_interface.py:1850 -#, fuzzy -msgid "You are about to send your password unencrypted on an insecure connection. Are you sure you want to do that?" -msgstr "Vous êtes sur le point d'envoyer votre mot de passe sur une connexion non-chiffrée. Êtes vous sûr de vouloir le faire ?" +#: ../src/gui_interface.py:1380 +msgid "" +"You are about to send your password unencrypted on an insecure connection. " +"Are you sure you want to do that?" +msgstr "" +"Vous êtes sur le point d'envoyer votre mot de passe sur une connexion non-" +"chiffrée. Êtes vous sûr de vouloir le faire ?" #. theme doesn't exist, disable emoticons -#: ../src/gui_interface.py:2422 ../src/gui_interface.py:2445 +#: ../src/gui_interface.py:1887 ../src/gui_interface.py:1910 msgid "Emoticons disabled" msgstr "Émoticônes désactivées" -#: ../src/gui_interface.py:2423 -msgid "Your configured emoticons theme has not been found, so emoticons have been disabled." -msgstr "Votre thème d'émoticônes n'a pu être trouvé, les émoticônes sont donc désactivées." +#: ../src/gui_interface.py:1888 +msgid "" +"Your configured emoticons theme has not been found, so emoticons have been " +"disabled." +msgstr "" +"Votre thème d'émoticônes n'a pu être trouvé, les émoticônes sont donc " +"désactivées." -#: ../src/gui_interface.py:2446 -msgid "Your configured emoticons theme cannot been loaded. You maybe need to update the format of emoticons.py file. See http://trac.gajim.org/wiki/Emoticons for more details." -msgstr "Votre thème d'émoticônes n'a pu être chargé. Vous avez peut-être besoin de mettre à jour le format du fichier emoticons.py. Voir http://trac.gajim.org/wiki/Emoticons pour plus de détails." +#: ../src/gui_interface.py:1911 +msgid "" +"Your configured emoticons theme cannot been loaded. You maybe need to update " +"the format of emoticons.py file. See http://trac.gajim.org/wiki/Emoticons " +"for more details." +msgstr "" +"Votre thème d'émoticônes n'a pu être chargé. Vous avez peut-être besoin de " +"mettre à jour le format du fichier emoticons.py. Voir http://trac.gajim.org/" +"wiki/Emoticons pour plus de détails." -#: ../src/gui_interface.py:2477 ../src/roster_window.py:3632 +#: ../src/gui_interface.py:1955 ../src/roster_window.py:3784 msgid "You cannot join a group chat while you are invisible" -msgstr "Vous ne pouvez pas joindre un salon de discussion tant que vous êtes invisible." +msgstr "" +"Vous ne pouvez pas joindre un salon de discussion tant que vous êtes " +"invisible." #. it is good to notify the user #. in case he or she cannot see the output of the console -#: ../src/gui_interface.py:2871 +#: ../src/gui_interface.py:2342 msgid "Could not save your settings and preferences" msgstr "Impossible d'enregistrer vos informations de configuration" -#: ../src/gui_interface.py:3411 +#: ../src/gui_interface.py:2889 msgid "Passphrase Required" msgstr "Mot de Passe Requis" -#: ../src/gui_interface.py:3412 +#: ../src/gui_interface.py:2890 #, python-format msgid "Enter GPG key passphrase for key %(keyid)s (account %(account)s)." -msgstr "Entrez votre mot de passe GPG pour la clé %(keyid)s (compte %(account)s)." +msgstr "" +"Entrez votre mot de passe GPG pour la clé %(keyid)s (compte %(account)s)." -#: ../src/gui_interface.py:3426 +#: ../src/gui_interface.py:2904 msgid "GPG key expired" msgstr "Clef GPG expirée" -#: ../src/gui_interface.py:3427 -#, fuzzy, python-format +#: ../src/gui_interface.py:2905 +#, python-format msgid "Your GPG key has expired, you will be connected to %s without OpenPGP." msgstr "Votre clef GPG a expiré, vous serez connecté(e) à %s sans OpenPGP." #. ask again -#: ../src/gui_interface.py:3436 +#: ../src/gui_interface.py:2914 msgid "Wrong Passphrase" msgstr "Mot de passe erroné" -#: ../src/gui_interface.py:3437 +#: ../src/gui_interface.py:2915 msgid "Please retype your GPG passphrase or press Cancel." msgstr "Ressaisissez votre mot de passe GPG ou appuyez sur Annuler." @@ -8868,75 +9555,96 @@ msgstr "Ressaisissez votre mot de passe GPG ou appuyez sur Annuler." msgid "_New Group Chat" msgstr "_Nouveau Salon de Discussion" -#: ../src/gui_menu_builder.py:410 +#: ../src/gui_menu_builder.py:419 msgid "I would like to add you to my roster" msgstr "Je souhaiterais vous ajouter à ma liste de contacts" -#: ../src/history_manager.py:114 +#: ../src/history_manager.py:116 msgid "Cannot find history logs database" msgstr "Impossible de trouver la base de données de l'historique" #. holds jid -#: ../src/history_manager.py:154 +#: ../src/history_manager.py:156 msgid "Contacts" msgstr "Contacts" #. holds time -#: ../src/history_manager.py:167 ../src/history_manager.py:207 +#: ../src/history_manager.py:169 ../src/history_manager.py:213 #: ../src/history_window.py:98 msgid "Date" msgstr "Date" #. holds nickname -#: ../src/history_manager.py:173 ../src/history_manager.py:225 +#: ../src/history_manager.py:176 ../src/history_manager.py:232 msgid "Nickname" msgstr "Pseudonyme" #. holds message -#: ../src/history_manager.py:181 ../src/history_manager.py:213 +#: ../src/history_manager.py:185 ../src/history_manager.py:220 #: ../src/history_window.py:106 msgid "Message" msgstr "Message" #. holds subject -#: ../src/history_manager.py:188 ../src/history_manager.py:219 +#: ../src/history_manager.py:193 ../src/history_manager.py:226 msgid "Subject" msgstr "Sujet" -#: ../src/history_manager.py:241 -msgid "Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM IS RUNNING)" -msgstr "Voulez vous nettoyer la base de donnée ? (TRÈS DÉCONSEILLÉ SI GAJIM EST LANCÉ)" - -#: ../src/history_manager.py:243 +#: ../src/history_manager.py:252 msgid "" -"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" +"Do you want to clean up the database? (STRONGLY NOT RECOMMENDED IF GAJIM IS " +"RUNNING)" +msgstr "" +"Voulez vous nettoyer la base de donnée ? (TRÈS DÉCONSEILLÉ SI GAJIM EST " +"LANCÉ)" + +#: ../src/history_manager.py:254 +msgid "" +"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" "\n" "In case you click YES, please wait..." msgstr "" -"Normalement la taille allouée a la base de donnée ne sera pas libérée, elle sera simplement ré-utilisable. Si vous voulez vraiment réduire la taille du fichier, choisir OUI, sinon choisir NON.\n" +"Normalement la taille allouée a la base de donnée ne sera pas libérée, elle " +"sera simplement ré-utilisable. Si vous voulez vraiment réduire la taille du " +"fichier, choisir OUI, sinon choisir NON.\n" "\n" "Si vous choisissez OUI, patientez..." -#: ../src/history_manager.py:460 +#: ../src/history_manager.py:259 +#, fuzzy +msgid "Database Cleanup" +msgstr "Erreur de base de données" + +#: ../src/history_manager.py:477 msgid "Exporting History Logs..." msgstr "Exportation de l'historique..." -#: ../src/history_manager.py:535 +#: ../src/history_manager.py:554 #, python-format msgid "%(who)s on %(time)s said: %(message)s\n" msgstr "%(who)s le %(time)s a dit: %(message)s\n" -#: ../src/history_manager.py:572 -msgid "Do you really want to delete logs of the selected contact?" -msgid_plural "Do you really want to delete logs of the selected contacts?" -msgstr[0] "Voulez vous réellement supprimer l'historique de ce contact ?" -msgstr[1] "Voulez vous réellement supprimer l'historique de ces contacts ?" +#: ../src/history_manager.py:592 +#, python-format +msgid "Do you really want to delete the logs of %(jid)s?" +msgstr "Voulez-vous vraiment supprimer les logs de %(jid)s ?" -#: ../src/history_manager.py:576 ../src/history_manager.py:611 +#: ../src/history_manager.py:596 +msgid "Do you really want to delete logs of the selected contacts?" +msgstr "Voulez vous réellement supprimer l'historique de ces contacts ?" + +#: ../src/history_manager.py:598 ../src/history_manager.py:637 msgid "This is an irreversible operation." msgstr "Ceci est une opération irréversible." -#: ../src/history_manager.py:608 +#: ../src/history_manager.py:600 ../src/history_manager.py:639 +#, fuzzy +msgid "Deletion Confirmation" +msgstr "Annuler la confirmation" + +#: ../src/history_manager.py:634 msgid "Do you really want to delete the selected message?" msgid_plural "Do you really want to delete the selected messages?" msgstr[0] "Voulez-vous vraiment supprimer le message sélectionné ?" @@ -8975,14 +9683,18 @@ msgstr "L'état est maintenant : %(status)s : %(status_msg)s" msgid "Status is now: %(status)s" msgstr "L'état est maintenant : %(status)s" -#: ../src/htmltextview.py:515 ../src/htmltextview.py:525 +#: ../src/htmltextview.py:518 ../src/htmltextview.py:528 msgid "Timeout loading image" msgstr "Délai du chargement de l'image dépassé" -#: ../src/htmltextview.py:535 +#: ../src/htmltextview.py:538 msgid "Image is too big" msgstr "L'image est trop grande" +#: ../src/htmltextview.py:571 +msgid "Loading" +msgstr "Chargement" + #: ../src/message_window.py:222 msgid "You are going to close several tabs" msgstr "Vous êtes sur le point de fermer plusieurs onglets" @@ -8991,19 +9703,19 @@ msgstr "Vous êtes sur le point de fermer plusieurs onglets" msgid "Do you really want to close them all?" msgstr "Voulez-vous vraiment tous les fermer ?" -#: ../src/message_window.py:485 +#: ../src/message_window.py:497 msgid "Chats" msgstr "Discussions" -#: ../src/message_window.py:487 +#: ../src/message_window.py:499 msgid "Group Chats" msgstr "Salons de discussion" -#: ../src/message_window.py:489 +#: ../src/message_window.py:501 msgid "Private Chats" msgstr "Conversations privées" -#: ../src/message_window.py:495 +#: ../src/message_window.py:507 msgid "Messages" msgstr "Messages" @@ -9015,346 +9727,430 @@ msgstr "- les messages seront archivés" msgid "- messages will not be logged" msgstr "- les messages ne seront pas archivés" -#: ../src/notify.py:232 +#: ../src/notify.py:167 #, python-format msgid "%(nick)s Changed Status" msgstr "%(nick)s a changé d'état" -#: ../src/notify.py:242 +#: ../src/notify.py:177 #, python-format msgid "%(nickname)s Signed In" msgstr "%(nickname)s s'est connecté(e)" -#: ../src/notify.py:250 +#: ../src/notify.py:185 #, python-format msgid "%(nickname)s Signed Out" msgstr "%(nickname)s s'est déconnecté(e)" -#: ../src/notify.py:261 -#, python-format -msgid "New Single Message from %(nickname)s" -msgstr "Nouveau message simple de %(nickname)s" - -#: ../src/notify.py:268 -#, python-format -msgid "New Private Message from group chat %s" -msgstr "Nouveau message privé dans le salon %s" - -#: ../src/notify.py:270 -#, python-format -msgid "%(nickname)s: %(message)s" -msgstr "%(nickname)s : %(message)s" - -#: ../src/notify.py:273 -#, python-format -msgid "Messaged by %(nickname)s" -msgstr "Message de %(nickname)s" - -#: ../src/notify.py:279 -#, python-format -msgid "New Message from %(nickname)s" -msgstr "Nouveau message de %(nickname)s" - -#: ../src/notify.py:536 +#: ../src/notify.py:482 msgid "Ignore" msgstr "Ignorer" -#: ../src/profile_window.py:58 +#: ../src/plugins/gui.py:67 +msgid "Plugin" +msgstr "" + +#: ../src/plugins/gui.py:160 +#, fuzzy +msgid "Plugin failed" +msgstr "L'inscription a échoué" + +#: ../src/plugins/gui.py:204 +msgid "Unable to properly remove the plugin" +msgstr "Impossible de supprimer le plugin proprement" + +#. members not safe +#: ../src/plugins/gui.py:212 ../src/plugins/pluginmanager.py:495 +#: ../src/plugins/pluginmanager.py:503 +#, fuzzy +msgid "Archive is malformed" +msgstr "Le service a envoyé des données mal-formées" + +#: ../src/plugins/gui.py:235 ../src/plugins/gui.py:243 +#: ../src/plugins/pluginmanager.py:511 +msgid "Plugin already exists" +msgstr "Le plugin existe déjà" + +#: ../src/plugins/gui.py:235 +msgid "Overwrite?" +msgstr "Remplacer ?" + +#: ../src/plugins/gui.py:264 +#, fuzzy +msgid "Configuration" +msgstr "Configuration du salon de discussion" + +#. it is not zip file +#. CRC error +#: ../src/plugins/pluginmanager.py:481 ../src/plugins/pluginmanager.py:487 +msgid "Archive corrupted" +msgstr "Archive corrompue" + +#: ../src/plugins/pluginmanager.py:483 +#, fuzzy +msgid "Archive empty" +msgstr "Le fichier est vide" + +#: ../src/profile_window.py:60 msgid "Retrieving profile..." msgstr "Récupération du profil..." -#: ../src/profile_window.py:111 ../src/roster_window.py:3001 +#: ../src/profile_window.py:125 ../src/roster_window.py:3141 msgid "File is empty" msgstr "Le fichier est vide" -#: ../src/profile_window.py:114 ../src/roster_window.py:3004 +#: ../src/profile_window.py:128 ../src/roster_window.py:3144 msgid "File does not exist" msgstr "Le fichier n'existe pas" #. keep identation #. unknown format -#: ../src/profile_window.py:128 ../src/profile_window.py:144 -#: ../src/roster_window.py:3006 ../src/roster_window.py:3017 +#: ../src/profile_window.py:142 ../src/profile_window.py:158 +#: ../src/roster_window.py:3146 ../src/roster_window.py:3157 msgid "Could not load image" msgstr "Impossible de charger l'image" -#: ../src/profile_window.py:215 -#, fuzzy +#: ../src/profile_window.py:229 msgid "Wrong date format" -msgstr "Informations du Contact" +msgstr "Mauvais format de date" -#: ../src/profile_window.py:216 -#, fuzzy +#: ../src/profile_window.py:230 msgid "Format of the date must be YYYY-MM-DD" msgstr "Format : AAAA-MM-JJ" -#: ../src/profile_window.py:270 +#: ../src/profile_window.py:284 msgid "Information received" msgstr "Invitation reçue" -#: ../src/profile_window.py:341 +#: ../src/profile_window.py:362 msgid "Without a connection you can not publish your contact information." msgstr "Vous devez être connecté pour publier vos informations." -#: ../src/profile_window.py:354 +#: ../src/profile_window.py:375 msgid "Sending profile..." msgstr "Envoi du profil..." -#: ../src/profile_window.py:369 +#: ../src/profile_window.py:394 msgid "Information NOT published" msgstr "l'information n'a PAS été publiée" -#: ../src/profile_window.py:376 +#: ../src/profile_window.py:401 msgid "vCard publication failed" msgstr "échec lors de la publication de votre vCard" -#: ../src/profile_window.py:377 -msgid "There was an error while publishing your personal information, try again later." -msgstr "Une erreur s'est produite lors de la publication de vos informations personnelles, veuillez réessayer plus tard." +#: ../src/profile_window.py:402 +msgid "" +"There was an error while publishing your personal information, try again " +"later." +msgstr "" +"Une erreur s'est produite lors de la publication de vos informations " +"personnelles, veuillez réessayer plus tard." -#: ../src/roster_window.py:262 ../src/roster_window.py:1026 +#: ../src/roster_window.py:240 ../src/roster_window.py:1028 msgid "Merged accounts" msgstr "Comptes regroupés" -#: ../src/roster_window.py:1942 +#: ../src/roster_window.py:1961 msgid "Authorization has been sent" msgstr "L'Autorisation a été envoyée" -#: ../src/roster_window.py:1943 +#: ../src/roster_window.py:1962 #, python-format msgid "Now \"%s\" will know your status." msgstr "Désormais \"%s\" connaîtra votre état." -#: ../src/roster_window.py:1966 +#: ../src/roster_window.py:1985 msgid "Subscription request has been sent" msgstr "La requête d'inscription a été envoyée" -#: ../src/roster_window.py:1967 +#: ../src/roster_window.py:1986 #, python-format msgid "If \"%s\" accepts this request you will know his or her status." msgstr "Si \"%s\" accepte cette requête, vous connaîtrez son état." -#: ../src/roster_window.py:1981 +#: ../src/roster_window.py:2000 msgid "Authorization has been removed" msgstr "L'Autorisation a été supprimée" -#: ../src/roster_window.py:1982 +#: ../src/roster_window.py:2001 #, python-format msgid "Now \"%s\" will always see you as offline." msgstr "Dorénavant, \"%s\" vous verra toujours déconnecté(e)." -#: ../src/roster_window.py:2009 +#: ../src/roster_window.py:2028 msgid "GPG is not usable" msgstr "GPG n'est pas utilisable" -#: ../src/roster_window.py:2010 +#: ../src/roster_window.py:2029 #, python-format msgid "You will be connected to %s without OpenPGP." msgstr "Vous serez connecté à %s sans OpenPGP." -#: ../src/roster_window.py:2222 ../src/roster_window.py:3562 +#: ../src/roster_window.py:2241 ../src/roster_window.py:3714 msgid "You are participating in one or more group chats" msgstr "Vous participez à un ou plusieurs salons" -#: ../src/roster_window.py:2223 ../src/roster_window.py:3563 -msgid "Changing your status to invisible will result in disconnection from those group chats. Are you sure you want to go invisible?" -msgstr "Basculer en état invisible entraînera votre déconnexion ces salons. Êtes-vous sûr de vouloir être invisible ?" +#: ../src/roster_window.py:2242 ../src/roster_window.py:3715 +msgid "" +"Changing your status to invisible will result in disconnection from those " +"group chats. Are you sure you want to go invisible?" +msgstr "" +"Basculer en état invisible entraînera votre déconnexion ces salons. Êtes-" +"vous sûr de vouloir être invisible ?" -#: ../src/roster_window.py:2249 +#: ../src/roster_window.py:2268 msgid "desync'ed" msgstr "désynchronisé" -#: ../src/roster_window.py:2311 +#: ../src/roster_window.py:2334 msgid "Really quit Gajim?" msgstr "Vraiment quitter Gajim ?" -#: ../src/roster_window.py:2312 +#: ../src/roster_window.py:2335 msgid "Are you sure you want to quit Gajim?" msgstr "Êtes-vous sûr de vouloir quitter Gajim ?" -#: ../src/roster_window.py:2313 +#: ../src/roster_window.py:2336 msgid "Always close Gajim" msgstr "Toujours fermer Gajim" -#: ../src/roster_window.py:2396 -#, fuzzy +#: ../src/roster_window.py:2420 msgid "You have running file transfers" -msgstr "Annule le transfert de fichier" +msgstr "Vous des transferts de fichiers en cours" -#: ../src/roster_window.py:2397 -msgid "If you quit now, the file(s) being transferred will be stopped. Do you still want to quit?" +#: ../src/roster_window.py:2421 +msgid "" +"If you quit now, the file(s) being transferred will be stopped. Do you still " +"want to quit?" msgstr "" +"Si vous quittez maintenant, le transfert de fichier(s) sera arrêté. Voulez-" +"vous toujours quitter ?" -#: ../src/roster_window.py:2428 ../src/roster_window.py:2719 +#: ../src/roster_window.py:2452 ../src/roster_window.py:2860 msgid "You have unread messages" msgstr "Vous avez des messages non lus" -#: ../src/roster_window.py:2429 -msgid "Messages will only be available for reading them later if you have history enabled and contact is in your roster." -msgstr "Les messages seront disponibles pour une lecture ultérieure si l'archivage de l'historique est actif et si le contact est dans votre liste." +#: ../src/roster_window.py:2453 +msgid "" +"Messages will only be available for reading them later if you have history " +"enabled and contact is in your roster." +msgstr "" +"Les messages seront disponibles pour une lecture ultérieure si l'archivage " +"de l'historique est actif et si le contact est dans votre liste." -#: ../src/roster_window.py:2720 +#: ../src/roster_window.py:2861 msgid "You must read them before removing this transport." msgstr "Vous devez les lire avant de supprimer ce compte." -#: ../src/roster_window.py:2723 +#: ../src/roster_window.py:2864 #, python-format msgid "Transport \"%s\" will be removed" msgstr "La passerelle \"%s\" sera enlevée" -#: ../src/roster_window.py:2724 -msgid "You will no longer be able to send and receive messages from contacts using this transport." -msgstr "Vous ne pourrez plus envoyer et recevoir de messages des contacts de cette passerelle." +#: ../src/roster_window.py:2865 +msgid "" +"You will no longer be able to send and receive messages from contacts using " +"this transport." +msgstr "" +"Vous ne pourrez plus envoyer et recevoir de messages des contacts de cette " +"passerelle." -#: ../src/roster_window.py:2727 +#: ../src/roster_window.py:2868 msgid "Transports will be removed" msgstr "Les passerelles seront enlevées" -#: ../src/roster_window.py:2732 +#: ../src/roster_window.py:2873 #, python-format -msgid "You will no longer be able to send and receive messages to contacts from these transports: %s" -msgstr "Vous ne pourrez plus envoyer et recevoir de messages aux contacts de ces passerelles : %s" +msgid "" +"You will no longer be able to send and receive messages to contacts from " +"these transports: %s" +msgstr "" +"Vous ne pourrez plus envoyer et recevoir de messages aux contacts de ces " +"passerelles : %s" -#: ../src/roster_window.py:2800 +#: ../src/roster_window.py:2941 msgid "You are about to block a contact. Are you sure you want to continue?" -msgstr "Vous êtes sur le point de bloquer un contact. Êtes-vous sûr de vouloir continuer ?" +msgstr "" +"Vous êtes sur le point de bloquer un contact. Êtes-vous sûr de vouloir " +"continuer ?" -#: ../src/roster_window.py:2802 -msgid "This contact will see you offline and you will not receive messages he will send you." -msgstr "Ce contact vous verra hors-ligne et vous ne recevrez pas les messages qu'il vous enverra." +#: ../src/roster_window.py:2943 +msgid "" +"This contact will see you offline and you will not receive messages he will " +"send you." +msgstr "" +"Ce contact vous verra hors-ligne et vous ne recevrez pas les messages qu'il " +"vous enverra." #. it's jid -#: ../src/roster_window.py:2893 +#: ../src/roster_window.py:3033 msgid "Rename Contact" msgstr "Renommer le contact" -#: ../src/roster_window.py:2894 +#: ../src/roster_window.py:3034 #, python-format msgid "Enter a new nickname for contact %s" msgstr "Entrez un nouveau surnom pour le contact %s." -#: ../src/roster_window.py:2901 +#: ../src/roster_window.py:3041 msgid "Rename Group" msgstr "_Renommer le Groupe" -#: ../src/roster_window.py:2902 +#: ../src/roster_window.py:3042 #, python-format msgid "Enter a new name for group %s" msgstr "Entrez un nouveau nom pour le groupe %s." -#: ../src/roster_window.py:2947 +#: ../src/roster_window.py:3087 msgid "Remove Group" msgstr "_Supprimer le Groupe" -#: ../src/roster_window.py:2948 +#: ../src/roster_window.py:3088 #, python-format msgid "Do you want to remove group %s from the roster?" msgstr "Voulez-vous enlever le groupe %s de la liste de contacts ?" -#: ../src/roster_window.py:2949 +#: ../src/roster_window.py:3089 msgid "Also remove all contacts in this group from your roster" -msgstr "Supprimer également de votre roster tous les contacts appartenant à ce groupe" +msgstr "" +"Supprimer également de votre roster tous les contacts appartenant à ce groupe" -#: ../src/roster_window.py:2988 +#: ../src/roster_window.py:3128 msgid "Assign OpenPGP Key" msgstr "Assigner une clé OpenPGP" -#: ../src/roster_window.py:2989 +#: ../src/roster_window.py:3129 msgid "Select a key to apply to the contact" msgstr "Choisissez la clé correspondant au contact" -#: ../src/roster_window.py:3372 +#: ../src/roster_window.py:3524 #, python-format msgid "Contact \"%s\" will be removed from your roster" msgstr "Le contact \"%s\" sera enlevé de la liste de contacts" -#: ../src/roster_window.py:3374 +#: ../src/roster_window.py:3526 #, python-format msgid "You are about to remove \"%(name)s\" (%(jid)s) from your roster.\n" -msgstr "Vous êtes sur le point de supprimer « %(name)s » (%(jid)s) de votre roster.\n" +msgstr "" +"Vous êtes sur le point de supprimer « %(name)s » (%(jid)s) de votre roster.\n" -#: ../src/roster_window.py:3379 -msgid "By removing this contact you also remove authorization resulting in him or her always seeing you as offline." -msgstr "En supprimant ce contact, vous enlevez aussi son autorisation. Il/Elle vous verra donc toujours déconnecté(e)." +#: ../src/roster_window.py:3531 +msgid "" +"By removing this contact you also remove authorization resulting in him or " +"her always seeing you as offline." +msgstr "" +"En supprimant ce contact, vous enlevez aussi son autorisation. Il/Elle vous " +"verra donc toujours déconnecté(e)." #. Contact is not in roster -#: ../src/roster_window.py:3385 +#: ../src/roster_window.py:3537 msgid "Do you want to continue?" msgstr "Voulez vous continuer ?" -#: ../src/roster_window.py:3389 -msgid "By removing this contact you also by default remove authorization resulting in him or her always seeing you as offline." -msgstr "En supprimant ce contact, vous supprimez également son autorisation. Il/Elle vous verra donc toujours déconnecté(e)." +#: ../src/roster_window.py:3541 +msgid "" +"By removing this contact you also by default remove authorization resulting " +"in him or her always seeing you as offline." +msgstr "" +"En supprimant ce contact, vous supprimez également son autorisation. Il/Elle " +"vous verra donc toujours déconnecté(e)." -#: ../src/roster_window.py:3392 +#: ../src/roster_window.py:3544 msgid "I want this contact to know my status after removal" msgstr "Autoriser ce contact à connaître mon état après la suppression" #. several contact to remove at the same time -#: ../src/roster_window.py:3396 +#: ../src/roster_window.py:3548 msgid "Contacts will be removed from your roster" msgstr "Les contacts seront enlevés de la liste de contacts" -#: ../src/roster_window.py:3401 +#: ../src/roster_window.py:3553 #, python-format msgid "" "By removing these contacts:%s\n" "you also remove authorization resulting in them always seeing you as offline." msgstr "" "En supprimant ces contacts : %s\n" -"vous enlevez aussi leurs autorisations. Ces contacts vous verront donc toujours déconnecté(e)." +"vous enlevez aussi leurs autorisations. Ces contacts vous verront donc " +"toujours déconnecté(e)." -#: ../src/roster_window.py:3459 -#, fuzzy -msgid "You are about to send a custom status. Are you sure you want to continue?" -msgstr "Vous êtes sur le point d'envoyer un statut personnalisé. Êtes-vous sûr de vouloir continuer ?" +#: ../src/roster_window.py:3611 +msgid "" +"You are about to send a custom status. Are you sure you want to continue?" +msgstr "" +"Vous êtes sur le point d'envoyer un statut personnalisé. Êtes-vous sûr de " +"vouloir continuer ?" -#: ../src/roster_window.py:3461 -#, fuzzy, python-format -msgid "This contact will temporarily see you as %(status)s, but only until you change your status. Then he or she will see your global status." -msgstr "Ce contact vous vera %(status)s, mais seulement jusqu'à ce que vous changiez votre statut. Il verra alors votre statut global." +#: ../src/roster_window.py:3613 +#, python-format +msgid "" +"This contact will temporarily see you as %(status)s, but only until you " +"change your status. Then he or she will see your global status." +msgstr "" +"Ce contact vous verra %(status)s, mais seulement jusqu'à ce que vous " +"changiez votre statut. Il verra alors votre statut global." -#: ../src/roster_window.py:3480 +#: ../src/roster_window.py:3632 msgid "No account available" msgstr "Aucun compte disponible" -#: ../src/roster_window.py:3481 +#: ../src/roster_window.py:3633 msgid "You must create an account before you can chat with other contacts." -msgstr "Vous devez créer un compte avant de pouvoir discuter avec d'autres contacts." +msgstr "" +"Vous devez créer un compte avant de pouvoir discuter avec d'autres contacts." -#: ../src/roster_window.py:4095 +#: ../src/roster_window.py:4280 msgid "Metacontacts storage not supported by your server" msgstr "Le stockage des métacontacts n'est pas supporté par votre serveur" -#: ../src/roster_window.py:4097 -msgid "Your server does not support storing metacontacts information. So those information will not be saved on next reconnection." -msgstr "Votre serveur ne supporte pas l'enregistrement des informations de métacontacts. Par conséquent, ces informations ne seront pas enregistrées lors de la prochaine connexion." +#: ../src/roster_window.py:4282 +msgid "" +"Your server does not support storing metacontacts information. So those " +"information will not be saved on next reconnection." +msgstr "" +"Votre serveur ne supporte pas l'enregistrement des informations de " +"métacontacts. Par conséquent, ces informations ne seront pas enregistrées " +"lors de la prochaine connexion." -#: ../src/roster_window.py:4189 -msgid "You are about to create a metacontact. Are you sure you want to continue?" -msgstr "Vous êtes sur le point de créer un métacontact. Êtes-vous sûr de vouloir continuer ?" +#: ../src/roster_window.py:4374 +msgid "" +"You are about to create a metacontact. Are you sure you want to continue?" +msgstr "" +"Vous êtes sur le point de créer un métacontact. Êtes-vous sûr de vouloir " +"continuer ?" -#: ../src/roster_window.py:4191 -msgid "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." -msgstr "Les métacontacts sont une façon de regrouper plusieurs contacts en un seul. Généralement, cela est utile lorsqu'une même personne possède plusieurs comptes Jabber ou des comptes de transport." +#: ../src/roster_window.py:4376 +msgid "" +"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." +msgstr "" +"Les métacontacts sont une façon de regrouper plusieurs contacts en un seul. " +"Généralement, cela est utile lorsqu'une même personne possède plusieurs " +"comptes Jabber ou des comptes de transport." -#: ../src/roster_window.py:4306 +#: ../src/roster_window.py:4497 msgid "Invalid file URI:" msgstr "Url de fichier invalide :" -#: ../src/roster_window.py:4318 +#: ../src/roster_window.py:4509 #, python-format msgid "Do you want to send this file to %s:" msgid_plural "Do you want to send these files to %s:" msgstr[0] "Voulez vous envoyer ce fichier à %s :" msgstr[1] "Voulez vous envoyer ces fichiers à %s :" -#: ../src/roster_window.py:4433 +#: ../src/roster_window.py:4644 #, python-format msgid "Send %s to %s" msgstr "Envoyer %s à %s" -#: ../src/roster_window.py:4439 +#: ../src/roster_window.py:4655 +#, fuzzy, python-format +msgid "Make %s first contact" +msgstr "Faire de %s et %s des métacontacts" + +#: ../src/roster_window.py:4658 #, python-format msgid "Make %s and %s metacontacts" msgstr "Faire de %s et %s des métacontacts" @@ -9364,130 +10160,129 @@ msgstr "Faire de %s et %s des métacontacts" #. for chat_with #. for single message #. join gc -#: ../src/roster_window.py:4888 ../src/roster_window.py:4961 -#: ../src/roster_window.py:4970 ../src/statusicon.py:263 -#: ../src/statusicon.py:310 ../src/statusicon.py:316 +#: ../src/roster_window.py:5098 ../src/roster_window.py:5152 +#: ../src/roster_window.py:5161 ../src/statusicon.py:264 +#: ../src/statusicon.py:311 ../src/statusicon.py:317 #, python-format msgid "using account %s" msgstr "du compte %s" #. add -#: ../src/roster_window.py:4977 +#: ../src/roster_window.py:5168 #, python-format msgid "to %s account" msgstr "au compte %s" #. disco -#: ../src/roster_window.py:4982 +#: ../src/roster_window.py:5173 #, python-format msgid "using %s account" msgstr "pour le compte %s" -#: ../src/roster_window.py:5020 ../src/statusicon.py:326 +#: ../src/roster_window.py:5212 ../src/statusicon.py:327 msgid "_Manage Bookmarks..." msgstr "Gérer les marque-pages..." #. profile, avatar -#: ../src/roster_window.py:5040 +#: ../src/roster_window.py:5232 #, python-format msgid "of account %s" msgstr "du compte %s" -#: ../src/roster_window.py:5081 +#: ../src/roster_window.py:5273 #, python-format msgid "for account %s" msgstr "pour le compte %s" -#: ../src/roster_window.py:5141 ../src/roster_window.py:5246 +#: ../src/roster_window.py:5333 ../src/roster_window.py:5438 msgid "_Change Status Message" msgstr "_Changer le message d'état" -#: ../src/roster_window.py:5174 +#: ../src/roster_window.py:5366 msgid "Publish Tune" msgstr "Publier ce que j'écoute" -#: ../src/roster_window.py:5176 -#, fuzzy +#: ../src/roster_window.py:5368 msgid "Publish Location" -msgstr "Publier ce que j'écoute" +msgstr "Publier la localisation" -#: ../src/roster_window.py:5179 +#: ../src/roster_window.py:5371 msgid "Configure Services..." msgstr "Configurer les Services..." -#: ../src/roster_window.py:5324 +#: ../src/roster_window.py:5516 msgid "_Maximize All" msgstr "Tout _maximiser" -#: ../src/roster_window.py:5334 ../src/roster_window.py:5508 +#: ../src/roster_window.py:5526 ../src/roster_window.py:5699 msgid "Send Group M_essage" msgstr "_Envoyer un message de groupe" -#: ../src/roster_window.py:5342 +#: ../src/roster_window.py:5534 msgid "To all users" msgstr "À tous les utilisateurs" -#: ../src/roster_window.py:5346 +#: ../src/roster_window.py:5538 msgid "To all online users" msgstr "À tous les utilisateurs connectés" #. Manage Transport submenu -#: ../src/roster_window.py:5528 +#: ../src/roster_window.py:5719 msgid "_Manage Contacts" msgstr "_Gérer les Contacts" #. Edit Groups -#: ../src/roster_window.py:5537 +#: ../src/roster_window.py:5728 msgid "Edit _Groups" msgstr "Éditer les _groupes" #. Send single message -#: ../src/roster_window.py:5592 +#: ../src/roster_window.py:5783 msgid "Send Single Message" msgstr "Envoyer un message Simple" #. Execute Command -#: ../src/roster_window.py:5639 +#: ../src/roster_window.py:5830 msgid "Execute Command..." msgstr "Exécuter une commande..." #. Manage Transport submenu -#: ../src/roster_window.py:5649 +#: ../src/roster_window.py:5840 msgid "_Manage Transport" msgstr "_Gérer les Passerelles" #. Modify Transport -#: ../src/roster_window.py:5658 +#: ../src/roster_window.py:5849 msgid "_Modify Transport" msgstr "_Modifier la Passerelle" #. Rename -#: ../src/roster_window.py:5668 +#: ../src/roster_window.py:5859 msgid "_Rename" msgstr "_Renommer" -#: ../src/roster_window.py:5728 +#: ../src/roster_window.py:5919 msgid "_Maximize" msgstr "_Maximiser" -#: ../src/roster_window.py:5737 +#: ../src/roster_window.py:5928 msgid "_Reconnect" msgstr "_Reconnecter" -#: ../src/roster_window.py:5744 +#: ../src/roster_window.py:5935 msgid "_Disconnect" msgstr "_Déconnecter" #. History manager -#: ../src/roster_window.py:5833 +#: ../src/roster_window.py:6024 msgid "History Manager" msgstr "Gestionnaire d'historique" -#: ../src/roster_window.py:5844 +#: ../src/roster_window.py:6035 msgid "_Join New Group Chat" msgstr "_Joindre un salon de discussion" -#: ../src/roster_window.py:6019 +#: ../src/roster_window.py:6254 msgid "Change Status Message..." msgstr "Changer le message d'état..." @@ -9504,21 +10299,16 @@ msgstr "Erreur dans la forme des données reçues" msgid "No result" msgstr "Aucun résultat." -#: ../src/session.py:136 +#: ../src/session.py:95 msgid "Disk WriteError" msgstr "Erreur d'écriture du disque" -#: ../src/session.py:258 -#, python-format -msgid "Subject: %s" -msgstr "Sujet : %s" - -#: ../src/session.py:447 ../src/session.py:491 +#: ../src/session.py:431 ../src/session.py:475 msgid "Confirm these session options" msgstr "Confirmer ces options de session" -#: ../src/session.py:448 -#, fuzzy, python-format +#: ../src/session.py:432 +#, python-format msgid "" "The remote client wants '\n" " 'to negotiate an session with these features:\n" @@ -9533,7 +10323,7 @@ msgstr "" "\n" "\tCes options sont-elles acceptables ?" -#: ../src/session.py:492 +#: ../src/session.py:476 #, python-format msgid "" "The remote client selected these options:\n" @@ -9542,22 +10332,21 @@ msgid "" "\n" "Continue with the session?" msgstr "" -"Le client distant à choisi ces options :\n" +"Le client distant a choisi ces options :\n" "\n" "%s\n" "\n" "Continuer la session ?" -#: ../src/statusicon.py:227 +#: ../src/statusicon.py:228 msgid "_Change Status Message..." msgstr "_Changer le message d'état..." -#: ../src/statusicon.py:339 -#, fuzzy +#: ../src/statusicon.py:342 msgid "Hide _Roster" -msgstr "dans le _roster" +msgstr "Cacher la liste de contacts" -#: ../src/statusicon.py:350 +#: ../src/statusicon.py:353 msgid "Hide this menu" msgstr "Cacher ce menu" @@ -9614,34 +10403,34 @@ msgid "OpenPGP: " msgstr "OpenPGP : " #: ../src/tooltips.py:646 -#, fuzzy, python-format +#, python-format msgid "Idle since %s" -msgstr " depuis %s" +msgstr "Inactif depuis %s" #: ../src/tooltips.py:647 -#, fuzzy, python-format +#, python-format msgid "Idle for %s" -msgstr "Console XML pour %s" +msgstr "Inactif pour %s" #: ../src/tooltips.py:698 -#, fuzzy, python-format +#, python-format msgid "Mood: %s" -msgstr "Humeur :" +msgstr "Humeur : %s" #: ../src/tooltips.py:702 -#, fuzzy, python-format +#, python-format msgid "Activity: %s" -msgstr "Activité :" +msgstr "Activité : %s" #: ../src/tooltips.py:706 -#, fuzzy, python-format +#, python-format msgid "Tune: %s" -msgstr "Ton :" +msgstr "Ton : %s" #: ../src/tooltips.py:710 -#, fuzzy, python-format +#, python-format msgid "Location: %s" -msgstr "Notification" +msgstr "Localisation : %s" #: ../src/tooltips.py:735 msgid "Download" @@ -9696,65 +10485,260 @@ msgstr "" "Ce service n'a pas renvoyé d'informations détaillées.\n" "Il est probablement défectueux ou cassé" -#: ../src/vcard.py:265 +#: ../src/vcard.py:285 msgid "?Client:Unknown" msgstr "Inconnu" -#: ../src/vcard.py:267 +#: ../src/vcard.py:287 msgid "?OS:Unknown" msgstr "Inconnu" -#: ../src/vcard.py:288 +#: ../src/vcard.py:310 msgid "?Time:Unknown" msgstr "?Date:Inconnue" -#: ../src/vcard.py:312 ../src/vcard.py:322 ../src/vcard.py:530 +#: ../src/vcard.py:334 ../src/vcard.py:344 ../src/vcard.py:552 #, python-format msgid "since %s" msgstr "depuis %s" -#: ../src/vcard.py:345 +#: ../src/vcard.py:367 msgid "?Role in Group Chat:Role:" msgstr "" -#: ../src/vcard.py:349 +#: ../src/vcard.py:371 msgid "Affiliation:" msgstr "Affiliation :" -#: ../src/vcard.py:357 -msgid "This contact is interested in your presence information, but you are not interested in his/her presence" -msgstr "Ce contact s'intéresse à votre état mais vous ne vous intéressez pas au sien" +#: ../src/vcard.py:379 +msgid "" +"This contact is interested in your presence information, but you are not " +"interested in his/her presence" +msgstr "" +"Ce contact s'intéresse à votre état mais vous ne vous intéressez pas au sien" -#: ../src/vcard.py:359 -msgid "You are interested in the contact's presence information, but he/she is not interested in yours" -msgstr "Vous vous intéressez à l'état de ce contact mais il ne s'intéresse pas au vôtre" +#: ../src/vcard.py:381 +msgid "" +"You are interested in the contact's presence information, but he/she is not " +"interested in yours" +msgstr "" +"Vous vous intéressez à l'état de ce contact mais il ne s'intéresse pas au " +"vôtre" -#: ../src/vcard.py:361 +#: ../src/vcard.py:383 msgid "You and the contact are interested in each other's presence information" msgstr "Vous et ce contact vous intéressez à vos états réciproques" #. None -#: ../src/vcard.py:363 -msgid "You are not interested in the contact's presence, and neither he/she is interested in yours" -msgstr "Vous n'êtes pas intéressé par l'état de ce contact et il ne s'intéresse pas au vôtre" +#: ../src/vcard.py:385 +msgid "" +"You are not interested in the contact's presence, and neither he/she is " +"interested in yours" +msgstr "" +"Vous n'êtes pas intéressé par l'état de ce contact et il ne s'intéresse pas " +"au vôtre" -#: ../src/vcard.py:370 +#: ../src/vcard.py:392 msgid "You are waiting contact's answer about your subscription request" -msgstr "Vous attendez la réponse de ce contact pour votre demande de voir son état" +msgstr "" +"Vous attendez la réponse de ce contact pour votre demande de voir son état" -#: ../src/vcard.py:372 +#: ../src/vcard.py:394 msgid "There is no pending subscription request." msgstr "Il n'y a aucune requête d'inscription en attente." -#: ../src/vcard.py:377 ../src/vcard.py:431 ../src/vcard.py:553 +#: ../src/vcard.py:399 ../src/vcard.py:453 ../src/vcard.py:575 msgid " resource with priority " msgstr " ressource avec la priorité " +#~ msgid " a window/tab opened with that contact " +#~ msgstr "une fenêtre ou un onglet ouvert avec ce contact " + +#~ msgid "Actions" +#~ msgstr "Actions" + +#~ msgid "Conditions" +#~ msgstr "Conditions" + +#~ msgid "Advanced Actions" +#~ msgstr "Actions avancées" + +#~ msgid "Advanced Notifications Control" +#~ msgstr "Éditeur de configuration avancée" + +#~ msgid "All statuses" +#~ msgstr "Tous les états" + +#~ msgid "Busy " +#~ msgstr "Occupé(e) " + +#~ msgid "Contact Change Status " +#~ msgstr "Le contact a changé d'état" + +#~ msgid "Contact Disconnected " +#~ msgstr "Contact déconnecté" + +#~ msgid "Don't have " +#~ msgstr "N'ai pas" + +#~ msgid "File Transfer Finished" +#~ msgstr "Transfert de fichier terminé" + +#~ msgid "File Transfer Request " +#~ msgstr "Requête de transfert de fichier" + +#~ msgid "File Transfer Started " +#~ msgstr "Transfert de fichier commencé" + +#~ msgid "Group Chat Message Highlight " +#~ msgstr "Message d'un salon mis en surbrillance" + +#~ msgid "Group Chat Message Received " +#~ msgstr "Message reçu dans un salon" + +#~ msgid "Have " +#~ msgstr "Ai" + +#~ msgid "Launch a command" +#~ msgstr "Lancer une commande" + +#~ msgid "One or more special statuses..." +#~ msgstr "Un ou plusieurs états spéciaux..." + +#~ msgid "Online / Free For Chat" +#~ msgstr "En ligne / Disponible pour discuter" + +#~ msgid "Play a sound" +#~ msgstr "Jouer un son" + +#~ msgid "Receive a Message" +#~ msgstr "Recevoir un message" + +#~ msgid "When " +#~ msgstr "Quand" + +#~ msgid "" +#~ "_Activate window manager's UrgencyHint to make chat window in taskbar " +#~ "flash" +#~ msgstr "" +#~ "_Activer l'indice d'urgence du gestionnaire de fenêtres pour faire " +#~ "clignoter la fenêtre de discussion dans la liste des fenêtres" + +#~ msgid "_Disable auto opening chat window" +#~ msgstr "_Désactiver l'ouverture automatique de fenêtres de conversation" + +#~ msgid "_Disable existing popup window" +#~ msgstr "_Désactiver la fenêtre popup existante" + +#~ msgid "_Disable existing sound for this event" +#~ msgstr "_Désactiver le son existant pour cet événement" + +#~ msgid "_Disable showing event in notification area" +#~ msgstr "_Désactiver l'affichage des événements dans la zone de notification" + +#~ msgid "_Disable showing event in roster" +#~ msgstr "_Désactiver l'affichage des événements dans la liste de contacts" + +#~ msgid "_Inform me with a popup window" +#~ msgstr "M'av_iser avec une fenêtre popup" + +#~ msgid "_Open chat window with user" +#~ msgstr "_Ouvrir une fenêtre de conversation" + +#~ msgid "_Show event in notification area" +#~ msgstr "Afficher les événements dans la zone de notification" + +#~ msgid "_Show event in roster" +#~ msgstr "Ne le montrer que dans la _liste" + +#~ msgid "and I " +#~ msgstr "et je " + +#~ msgid "contact(s)" +#~ msgstr "contact(s)" + +#~ msgid "everybody" +#~ msgstr "tout le monde" + +#~ msgid "for " +#~ msgstr "pour " + +#~ msgid "group(s)" +#~ msgstr "groupes" + +#~ msgid "when I'm in" +#~ msgstr "lorsque je suis là" + +#~ msgid "Advanced..." +#~ msgstr "Avancées..." + +#~ msgid "all or space separated status" +#~ msgstr "tous ou par état (séparé par des espaces)" + +#~ msgid "'yes', 'no', or 'both'" +#~ msgstr "'yes', 'no' ou 'both'" + +#~ msgid "'yes', 'no' or ''" +#~ msgstr "'yes', 'no' ou ''" + +#~ msgid "Condition" +#~ msgstr "Condition" + +#~ msgid "when I am " +#~ msgstr "quand je suis " + +#~ msgid "_Send Single Message..." +#~ msgstr "Envoyer un _message simple..." + +#~ msgid "User avatar:" +#~ msgstr "Avatar de l'utilisateur :" + +#~ msgid "Requires gpg and python-GnuPGInterface." +#~ msgstr "Nécessite gpg et python-GnuPGInterface." + +#, fuzzy +#~ msgid "one of: offline, online, chat, away, xa, dnd, invisible " +#~ msgstr "un parmi : offline, online, chat, away, xa, dnd, invisible " + +#, fuzzy +#~ msgid "" +#~ "Returns current status message(the global one unless account is specified)" +#~ msgstr "" +#~ "Renvoie le message d'état actuel (global à moins qu'un compte ne soit " +#~ "spécifié)" + +#~ msgid "" +#~ "Usage: %s %s %s \n" +#~ "\t %s" +#~ msgstr "" +#~ "Usage: %s %s %s \n" +#~ "\t %s" + +#, fuzzy +#~ msgid "" +#~ "Too many arguments. \n" +#~ "Type \"%s help %s\" for more info" +#~ msgstr "" +#~ "Trop d'arguments.\n" +#~ "Tapez \"%(basename)s help %(command)s\" pour plus d'informations" + +#, fuzzy +#~ msgid "" +#~ "Argument \"%s\" is not specified. \n" +#~ "Type \"%s help %s\" for more info" +#~ msgstr "" +#~ "L'argument \"%(arg)s\" n'est pas précisé.\n" +#~ "Tapez \"%(basename)s help %(command)s\" pour plus d'informations" + +#~ msgid "Subject: %s" +#~ msgstr "Sujet : %s" + #~ msgid "@" #~ msgstr "@" #~ msgid "_Disable showing event in systray" -#~ msgstr "_Désactiver l'affichage des événements dans la zone de notification." +#~ msgstr "" +#~ "_Désactiver l'affichage des événements dans la zone de notification." #~ msgid "_Show event in systray" #~ msgstr "L'afficher dans la zone de notifications" @@ -9774,32 +10758,25 @@ msgstr " ressource avec la priorité " #~ msgid "Nickname not allowed: %s" #~ msgstr "Surnom invalide : %s" -#~ msgid "Room has been destroyed" -#~ msgstr "Le salon de discussion a été détruit" - -#~ msgid "You can join this room instead: %s" -#~ msgstr "Vous pouvez rejoindre le salon %s à la place" - -#~ msgid "I would like to add you to my roster." -#~ msgstr "Je souhaiterais vous ajouter à ma liste de contacts." - #~ msgid "we are now subscribed to %s" #~ msgstr "nous sommes maintenant inscrits chez %s" -#~ msgid "unsubscribe request from %s" -#~ msgstr "Requête de désinscription de la part de %s" - #~ msgid "we are now unsubscribed from %s" #~ msgstr "nous ne sommes plus dans la liste de %s" -#~ msgid "JID %s is not RFC compliant. It will not be added to your roster. Use roster management tools such as http://jru.jabberstudio.org/ to remove it" -#~ msgstr "L'identifiant Jabber %s ne respecte pas la norme RFC. Il ne sera pas ajouté à votre liste de contacts. Utilisez un outil de gestion de liste de contact tel que http://jru.jabberstudio.org pour le supprimer" - #~ msgid "Account Modification" #~ msgstr "Modification du compte" -#~ msgid "Check this so Gajim will connect in port 5223 where legacy servers are expected to have SSL capabilities. Note that Gajim uses TLS encryption by default if broadcasted by the server, and with this option enabled TLS will be disabled" -#~ msgstr "Si vous cochez cette case, Gajim se connectera sur le port 5223, sur lequel les serveurs sont supposés gérer le SSL. Notez que Gajim utilise le chiffrement TLS par défaut si le serveur annonce qu'il le supporte, et avec cette option vous désactivez le TLS" +#~ msgid "" +#~ "Check this so Gajim will connect in port 5223 where legacy servers are " +#~ "expected to have SSL capabilities. Note that Gajim uses TLS encryption by " +#~ "default if broadcasted by the server, and with this option enabled TLS " +#~ "will be disabled" +#~ msgstr "" +#~ "Si vous cochez cette case, Gajim se connectera sur le port 5223, sur " +#~ "lequel les serveurs sont supposés gérer le SSL. Notez que Gajim utilise " +#~ "le chiffrement TLS par défaut si le serveur annonce qu'il le supporte, et " +#~ "avec cette option vous désactivez le TLS" #~ msgid "Edit Personal Information..." #~ msgstr "_Éditer les informations personnelles..." @@ -9807,8 +10784,12 @@ msgstr " ressource avec la priorité " #~ msgid "Hostname: " #~ msgstr "Serveur :" -#~ msgid "If checked, Gajim will store the password in ~/.gajim/config with 'read' permission only for you" -#~ msgstr "Si cette case est cochée, Gajim va stocker le mot de passe dans ~/.gajim/config avec accès en lecture pour vous uniquement" +#~ msgid "" +#~ "If checked, Gajim will store the password in ~/.gajim/config with 'read' " +#~ "permission only for you" +#~ msgstr "" +#~ "Si cette case est cochée, Gajim va stocker le mot de passe dans ~/.gajim/" +#~ "config avec accès en lecture pour vous uniquement" #~ msgid "Port: " #~ msgstr "Port : " @@ -9971,7 +10952,9 @@ msgstr " ressource avec la priorité " #~ msgstr "Bannières et liens cliquables" #~ msgid "Ability to have clickable URLs in chat and groupchat window banners." -#~ msgstr "Possibilité d'avoir des URL cliquables dans les bannières des conversations." +#~ msgstr "" +#~ "Possibilité d'avoir des URL cliquables dans les bannières des " +#~ "conversations." #~ msgid "Requires python-sexy." #~ msgstr "Nécessite python-sexy." @@ -9979,11 +10962,18 @@ msgstr " ressource avec la priorité " #~ msgid "GTK+ runtime is missing libglade support" #~ msgstr "La bibliothèque GTK+ ne contient pas le support de glade" -#~ msgid "Please remove your current GTK+ runtime and install the latest stable version from %s" -#~ msgstr "Supprimez votre version actuelle de la bibliothèque GTK+ et installez la dernière version stable à partir de %s" +#~ msgid "" +#~ "Please remove your current GTK+ runtime and install the latest stable " +#~ "version from %s" +#~ msgstr "" +#~ "Supprimez votre version actuelle de la bibliothèque GTK+ et installez la " +#~ "dernière version stable à partir de %s" -#~ msgid "Please make sure that GTK+ and PyGTK have libglade support in your system." -#~ msgstr "Vérifiez que GTK+ et PyGTK contiennent le support de glade dans votre système." +#~ msgid "" +#~ "Please make sure that GTK+ and PyGTK have libglade support in your system." +#~ msgstr "" +#~ "Vérifiez que GTK+ et PyGTK contiennent le support de glade dans votre " +#~ "système." #~ msgid "Gajim needs PySQLite2 to run" #~ msgstr "Gajim a besoin de PyGTK 2.6+ pour s'exécuter" @@ -9994,17 +10984,28 @@ msgstr " ressource avec la priorité " #~ msgid "_Outgoing message:" #~ msgstr "Message s_ortant :" -#~ msgid "The host %s you configured as the ft_add_hosts_to_send advanced option is not valid, so ignored." -#~ msgstr "L'hôte %s que vous avez spécifié dans l'option avancée « ft_add_hosts_to_send » est invalide, il a été ignoré." +#~ msgid "" +#~ "The host %s you configured as the ft_add_hosts_to_send advanced option is " +#~ "not valid, so ignored." +#~ msgstr "" +#~ "L'hôte %s que vous avez spécifié dans l'option avancée " +#~ "« ft_add_hosts_to_send » est invalide, il a été ignoré." #~ msgid "OpenPGP passphrase was not given" #~ msgstr "Mot de passe OpenPGP non renseigné" -#~ msgid "To continue sending and receiving messages, you will need to reconnect." -#~ msgstr "Pour continuer à envoyer et recevoir des messages, vous devez vous reconnecter." +#~ msgid "" +#~ "To continue sending and receiving messages, you will need to reconnect." +#~ msgstr "" +#~ "Pour continuer à envoyer et recevoir des messages, vous devez vous " +#~ "reconnecter." -#~ msgid "You are not connected or not visible to others. Your message could not be sent." -#~ msgstr "Vous n'êtes pas connecté ou vous êtes invisible. Votre message n'a pas pu être envoyé." +#~ msgid "" +#~ "You are not connected or not visible to others. Your message could not be " +#~ "sent." +#~ msgstr "" +#~ "Vous n'êtes pas connecté ou vous êtes invisible. Votre message n'a pas pu " +#~ "être envoyé." #~ msgid "[This message is encrypted]" #~ msgstr "[Ce message est chiffré]" @@ -10018,8 +11019,12 @@ msgstr " ressource avec la priorité " #~ msgid "A icon in systemtray reflecting the current presence." #~ msgstr "Une icône dans le tray indiquant la présence courante." -#~ msgid "Requires python-gnome2-extras or compiled trayicon module from Gajim sources." -#~ msgstr "Nécessite python-gnome2-extras ou une compilation du module trayicon depuis les sources Gajim." +#~ msgid "" +#~ "Requires python-gnome2-extras or compiled trayicon module from Gajim " +#~ "sources." +#~ msgstr "" +#~ "Nécessite python-gnome2-extras ou une compilation du module trayicon " +#~ "depuis les sources Gajim." #~ msgid "Requires PyGTK >= 2.10." #~ msgstr "Nécessite PyGTK >= 2.10." @@ -10045,8 +11050,12 @@ msgstr " ressource avec la priorité " #~ msgid "Usage: /%s, hide the chat buttons." #~ msgstr "Usage: /%s, cache les boutons de discussion." -#~ msgid "Usage: /%(command)s , sends action to the current group chat. Use third person. (e.g. /%(command)s explodes.)" -#~ msgstr "Utilisation : /%(command)s , envoie l'action au salon actuel. Utilise la troisième personne. (ex : /%(command)s explose.)" +#~ msgid "" +#~ "Usage: /%(command)s , sends action to the current group chat. Use " +#~ "third person. (e.g. /%(command)s explodes.)" +#~ msgstr "" +#~ "Utilisation : /%(command)s , envoie l'action au salon actuel. " +#~ "Utilise la troisième personne. (ex : /%(command)s explose.)" #~ msgid "Usage: /%s, sends a ping to the contact" #~ msgstr "Utilisation : /%s, envoie un ping au contact" @@ -10067,31 +11076,65 @@ msgstr " ressource avec la priorité " #~ msgstr "Ce salon de discussion n'a pas de sujet" #~ msgid "Invited %(contact_jid)s to %(room_jid)s." -#~ msgstr "Contact %(contact_jid)s invité dans le salon de discussion %(room_jid)s." +#~ msgstr "" +#~ "Contact %(contact_jid)s invité dans le salon de discussion %(room_jid)s." #~ msgid "Nickname not found" #~ msgstr "Surnom introuvable : %s" -#~ msgid "Usage: /%s [reason], bans the JID from the group chat. The nickname of an occupant may be substituted, but not if it contains \"@\". If the JID is currently in the group chat, he/she/it will also be kicked." -#~ msgstr "Utilisation : /%s [raison], bannit l'identifiant Jabber du salon. Le surnom de l'occupant peut être utilisé s'il ne contient pas de \"@\". Si l'identifiant Jabber est actuellement dans le salon il sera également éjecté. Ne supporte pas les espaces dans le surnom." +#~ msgid "" +#~ "Usage: /%s [reason], bans the JID from the group chat. The " +#~ "nickname of an occupant may be substituted, but not if it contains \"@\". " +#~ "If the JID is currently in the group chat, he/she/it will also be kicked." +#~ msgstr "" +#~ "Utilisation : /%s [raison], bannit " +#~ "l'identifiant Jabber du salon. Le surnom de l'occupant peut être utilisé " +#~ "s'il ne contient pas de \"@\". Si l'identifiant Jabber est actuellement " +#~ "dans le salon il sera également éjecté. Ne supporte pas les espaces dans " +#~ "le surnom." -#~ msgid "Usage: /%s , opens a private chat window with the specified occupant." -#~ msgstr "Usage : /%s , ouvre une fenêtre de conversation privée avec l'occupant(e) spécifié(e)." +#~ msgid "" +#~ "Usage: /%s , opens a private chat window with the specified " +#~ "occupant." +#~ msgstr "" +#~ "Usage : /%s , ouvre une fenêtre de conversation privée avec " +#~ "l'occupant(e) spécifié(e)." -#~ msgid "Usage: /%s [reason], closes the current window or tab, displaying reason if specified." -#~ msgstr "Utilisation : /%s [raison], ferme la fenêtre ou l'onglet courant en affichant la raison si spécifiée." +#~ msgid "" +#~ "Usage: /%s [reason], closes the current window or tab, displaying reason " +#~ "if specified." +#~ msgstr "" +#~ "Utilisation : /%s [raison], ferme la fenêtre ou l'onglet courant en " +#~ "affichant la raison si spécifiée." -#~ msgid "Usage: /%s [reason], invites JID to the current group chat, optionally providing a reason." -#~ msgstr "Utilisation : /%s [raison], invite l'identifiant Jabber dans le salon actuel, la raison est optionnelle." +#~ msgid "" +#~ "Usage: /%s [reason], invites JID to the current group chat, " +#~ "optionally providing a reason." +#~ msgstr "" +#~ "Utilisation : /%s [raison], invite l'identifiant " +#~ "Jabber dans le salon actuel, la raison est optionnelle." -#~ msgid "Usage: /%s @[/nickname], offers to join room@server optionally using specified nickname." -#~ msgstr "Utilisation : /%s @[/surnom], propose de rejoindre salon@serveur en option on peut spécifier le surnom utilisé." +#~ msgid "" +#~ "Usage: /%s @[/nickname], offers to join room@server " +#~ "optionally using specified nickname." +#~ msgstr "" +#~ "Utilisation : /%s @[/surnom], propose de rejoindre " +#~ "salon@serveur en option on peut spécifier le surnom utilisé." -#~ msgid "Usage: /%s [reason], removes the occupant specified by nickname from the group chat and optionally displays a reason." -#~ msgstr "Utilisation : /%s [raison], éjecte l'occupant portant le surnom spécifié du salon et affiche en option la raison. Le surnom ne doit pas contenir d'espaces !" +#~ msgid "" +#~ "Usage: /%s [reason], removes the occupant specified by " +#~ "nickname from the group chat and optionally displays a reason." +#~ msgstr "" +#~ "Utilisation : /%s [raison], éjecte l'occupant portant le surnom " +#~ "spécifié du salon et affiche en option la raison. Le surnom ne doit pas " +#~ "contenir d'espaces !" -#~ msgid "Usage: /%s [message], opens a private message window and sends message to the occupant specified by nickname." -#~ msgstr "Usage : /%s [message], ouvre une fenêtre de discussion privée et envoie le message à l'occupant(e) spécifié(e) par le surnom." +#~ msgid "" +#~ "Usage: /%s [message], opens a private message window and sends " +#~ "message to the occupant specified by nickname." +#~ msgstr "" +#~ "Usage : /%s [message], ouvre une fenêtre de discussion privée et " +#~ "envoie le message à l'occupant(e) spécifié(e) par le surnom." #~ msgid "Usage: /%s , changes your nickname in current group chat." #~ msgstr "Utilisation : /%s , change votre surnom dans ce salon." @@ -10099,17 +11142,26 @@ msgstr " ressource avec la priorité " #~ msgid "Usage: /%s , display the names of group chat occupants." #~ msgstr "Utilisation : /%s , affiche les noms des occupants du salon." -#~ msgid "Usage: /%s [topic], displays or updates the current group chat topic." -#~ msgstr "Utilisation : /%s [sujet], affiche ou met à jour le sujet actuel du salon." +#~ msgid "" +#~ "Usage: /%s [topic], displays or updates the current group chat topic." +#~ msgstr "" +#~ "Utilisation : /%s [sujet], affiche ou met à jour le sujet actuel du salon." -#~ msgid "Usage: /%s , sends a message without looking for other commands." -#~ msgstr "Utilisation : /%s , envoie un message sans chercher d'autres commandes." +#~ msgid "" +#~ "Usage: /%s , sends a message without looking for other commands." +#~ msgstr "" +#~ "Utilisation : /%s , envoie un message sans chercher d'autres " +#~ "commandes." -#~ msgid "Usage: /%s , allow to send you messages and private messages." +#~ msgid "" +#~ "Usage: /%s , allow to send you messages and private " +#~ "messages." #~ msgstr "Utilisation : /%s , change votre surnom dans ce salon." #~ msgid "Click to see features (like MSN, ICQ transports) of jabber servers" -#~ msgstr "Cliquez pour voir les fonctionnalités du serveur jabber (comme les passerelles MSN, ICQ)" +#~ msgstr "" +#~ "Cliquez pour voir les fonctionnalités du serveur jabber (comme les " +#~ "passerelles MSN, ICQ)" #~ msgid "Servers Features" #~ msgstr "Fonctionnalités du Serveur" @@ -10123,9 +11175,6 @@ msgstr " ressource avec la priorité " #~ msgid "Name:" #~ msgstr "Nom :" -#~ msgid "Show _roster" -#~ msgstr "Montrer la _liste de contacts" - #~ msgid "Select the account with which to synchronise" #~ msgstr "Sélectionnez le compte avec lequel vous voulez vous synchroniser" @@ -10160,8 +11209,12 @@ msgstr " ressource avec la priorité " #~ msgid "gnome-keyring" #~ msgstr "gnome-keyring" -#~ msgid "Requires python-gnome2-extras or compilation of gtkspell module from Gajim sources." -#~ msgstr "Nécessite python-gnome2-extras ou un compilation du module gtkspell depuis les sources Gajim." +#~ msgid "" +#~ "Requires python-gnome2-extras or compilation of gtkspell module from " +#~ "Gajim sources." +#~ msgstr "" +#~ "Nécessite python-gnome2-extras ou un compilation du module gtkspell " +#~ "depuis les sources Gajim." #~ msgid "Idle" #~ msgstr "Inactif" @@ -10185,13 +11238,20 @@ msgstr " ressource avec la priorité " #~ msgstr "_Serveur :" #~ msgid "Requires compilation of the idle module from Gajim sources." -#~ msgstr "Nécessite la compilation du module d'inactivité depuis les sources de Gajim." +#~ msgstr "" +#~ "Nécessite la compilation du module d'inactivité depuis les sources de " +#~ "Gajim." #~ msgid "No such command: /%s (if you want to send this, prefix it with /say)" -#~ msgstr "Cette commande n'existe pas: /%s (précédez la de /say pour l'envoyer)" +#~ msgstr "" +#~ "Cette commande n'existe pas: /%s (précédez la de /say pour l'envoyer)" -#~ msgid "Usage: /%s , sends action to the current group chat. Use third person. (e.g. /%s explodes.)" -#~ msgstr "Utilisation : /%(command)s , envoie l'action au salon actuel. Utilise la troisième personne. (ex : /%(command)s explose.)" +#~ msgid "" +#~ "Usage: /%s , sends action to the current group chat. Use third " +#~ "person. (e.g. /%s explodes.)" +#~ msgstr "" +#~ "Utilisation : /%(command)s , envoie l'action au salon actuel. " +#~ "Utilise la troisième personne. (ex : /%(command)s explose.)" #~ msgid "Encryption enabled" #~ msgstr "Chiffrement E2E activé" @@ -10199,11 +11259,16 @@ msgstr " ressource avec la priorité " #~ msgid "Encryption disabled" #~ msgstr "Chiffrement E2E désactivé" -#~ msgid "If checked, Gajim will sort contacts in roster window and groupchats by their status and not by the shown name" -#~ msgstr "Si cette case est cochée, Gajim triera les contacts dans la fenêtre principale et dans les salons par statut et non pas par nom" +#~ msgid "" +#~ "If checked, Gajim will sort contacts in roster window and groupchats by " +#~ "their status and not by the shown name" +#~ msgstr "" +#~ "Si cette case est cochée, Gajim triera les contacts dans la fenêtre " +#~ "principale et dans les salons par statut et non pas par nom" #~ msgid "The username used to identify the Last.fm account." -#~ msgstr "Le nom d'utilisateur utilisé comme identifiant pour le compte Last.fm." +#~ msgstr "" +#~ "Le nom d'utilisateur utilisé comme identifiant pour le compte Last.fm." #~ msgid "Thoughtful" #~ msgstr "Pensif" @@ -10212,7 +11277,9 @@ msgstr " ressource avec la priorité " #~ msgstr "Network Manager n'est pas disponible" #~ msgid "Session Management support not available (missing gnome.ui module)" -#~ msgstr "Support du gestionnaire de sessions indisponible (module gnome.ui manquant)" +#~ msgstr "" +#~ "Support du gestionnaire de sessions indisponible (module gnome.ui " +#~ "manquant)" #~ msgid "General:" #~ msgstr "Général :" @@ -10300,29 +11367,48 @@ msgstr " ressource avec la priorité " #~ msgstr "OK pour continuer ?" #~ msgid "" -#~ "You've begun an encrypted session with %s, but it can't be guaranteed that you're talking directly to the person you think you are.\n" +#~ "You've begun an encrypted session with %s, but it can't be guaranteed " +#~ "that you're talking directly to the person you think you are.\n" #~ "\n" -#~ "You should speak with them directly (in person or on the phone) and confirm that their Short Authentication String is identical to this one: %s\n" +#~ "You should speak with them directly (in person or on the phone) and " +#~ "confirm that their Short Authentication String is identical to this one: " +#~ "%s\n" #~ "\n" #~ "Would you like to continue with the encrypted session?" #~ msgstr "" -#~ "Vous avez commencé une session chiffrée avec %s, mais il ne peut être garanti que vous êtes en train de discuter avec la personne que vous croyez.\n" +#~ "Vous avez commencé une session chiffrée avec %s, mais il ne peut être " +#~ "garanti que vous êtes en train de discuter avec la personne que vous " +#~ "croyez.\n" #~ "\n" -#~ "Vous devriez parler avec elle directement (en personne ou au téléphone) et confirmer que leur Chaîne d'Authentification Courte est identique à celle-ci :%s\n" +#~ "Vous devriez parler avec elle directement (en personne ou au téléphone) " +#~ "et confirmer que leur Chaîne d'Authentification Courte est identique à " +#~ "celle-ci :%s\n" #~ "\n" #~ "Voulez-vous continuer la session chiffrée ?" #~ msgid "Yes, I verified the Short Authentication String" #~ msgstr "Oui, j'ai vérifié la Chaîne Courte d'Authentification" -#~ msgid "If checked, Gajim can regularly poll a Last.fm account and sends recently played songs through PEP." -#~ msgstr "Si activé, Gajim peut régulièrement consulter un compte Last.fm et envoyer les morceaux récemment joués via PEP." +#~ msgid "" +#~ "If checked, Gajim can regularly poll a Last.fm account and sends recently " +#~ "played songs through PEP." +#~ msgstr "" +#~ "Si activé, Gajim peut régulièrement consulter un compte Last.fm et " +#~ "envoyer les morceaux récemment joués via PEP." -#~ msgid "When negotiating an encrypted session, should Gajim prefer to use public keys for identification?" -#~ msgstr "Durant la négociation d'une session chiffrée, Gajim doit-il utiliser de préférence une clef publique pour l'identification ?" +#~ msgid "" +#~ "When negotiating an encrypted session, should Gajim prefer to use public " +#~ "keys for identification?" +#~ msgstr "" +#~ "Durant la négociation d'une session chiffrée, Gajim doit-il utiliser de " +#~ "préférence une clef publique pour l'identification ?" -#~ msgid "To continue, Gajim needs to access your stored secrets. Enter your passphrase" -#~ msgstr "Pour continuer, Gajim a besoin d'accéder à vos secrets stockés. Veuillez entrer votre mot de passe" +#~ msgid "" +#~ "To continue, Gajim needs to access your stored secrets. Enter your " +#~ "passphrase" +#~ msgstr "" +#~ "Pour continuer, Gajim a besoin d'accéder à vos secrets stockés. Veuillez " +#~ "entrer votre mot de passe" #~ msgid "Confirm Passphrase" #~ msgstr "Confirmer le mot de passe" @@ -10337,7 +11423,9 @@ msgstr " ressource avec la priorité " #~ msgstr "Les mots de passe ne correspondent pas.\n" #~ msgid "Gajim needs you to create a passphrase to encrypt stored secrets" -#~ msgstr "Gajim a besoin que vous créiez un mot de passe afin de chiffrer les secrets stockés" +#~ msgstr "" +#~ "Gajim a besoin que vous créiez un mot de passe afin de chiffrer les " +#~ "secrets stockés" #~ msgid "Role:" #~ msgstr "Fonction :" diff --git a/po/ja.po b/po/ja.po index eaa9efa7e..ed8e4d64f 100644 --- a/po/ja.po +++ b/po/ja.po @@ -2,19 +2,15 @@ # Copyright (C) 2009 THE Gajim - A Jabber Instant Messager'S COPYRIGHT HOLDER # This file is distributed under the same license as the Gajim - A Jabber Instant Messager package. # -#: ../src/gajim-remote-plugin.py:221 ../src/gajim-remote-plugin.py:228 -#: ../src/gajim-remote-plugin.py:254 ../src/gajim-remote-plugin.py:255 -#: ../src/gajim-remote-plugin.py:261 ../src/gajim-remote-plugin.py:262 -#: ../src/gajim-remote-plugin.py:263 ../src/gajim-remote-plugin.py:264 msgid "" msgstr "" -"Project-Id-Version: Gajim 0.13.3\n" +"Project-Id-Version: Gajim 0.15 ja\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-01 20:39+0200\n" -"PO-Revision-Date: 2010-03-10 17:59+0900\n" -"Last-Translator: Mako N. \n" +"POT-Creation-Date: 2011-09-02 18:31+0900\n" +"PO-Revision-Date: 2011-09-02 19:09+0900\n" +"Last-Translator: Mako N \n" "Language-Team: Japanese\n" -"Language: \n" +"Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -25,11 +21,10 @@ msgid "Join _Group Chat..." msgstr "グループチャットに参加する (_G)..." #: ../data/gui/account_context_menu.ui.h:2 -#, fuzzy msgid "_Add Contact..." -msgstr "相手先リストに追加する (_C)..." +msgstr "相手先リストに追加する (_A)..." -#: ../data/gui/account_context_menu.ui.h:3 ../data/gui/roster_window.ui.h:18 +#: ../data/gui/account_context_menu.ui.h:3 ../data/gui/roster_window.ui.h:19 msgid "_Discover Services" msgstr "サービスを探索する (_D)" @@ -119,12 +114,12 @@ msgstr "管理..." #: ../data/gui/account_creation_wizard_window.ui.h:17 #: ../data/gui/accounts_window.ui.h:39 ../data/gui/change_mood_dialog.ui.h:3 -#: ../src/config.py:1280 ../src/config.py:1383 ../src/config.py:1694 -#: ../src/config.py:1699 ../src/config.py:2265 ../src/config.py:2344 -#: ../src/config.py:2357 ../src/config.py:3613 ../src/config.py:3688 -#: ../src/dialogs.py:309 ../src/dialogs.py:311 ../src/dialogs.py:514 -#: ../src/dialogs.py:527 ../src/roster_window.py:2956 -#: ../src/roster_window.py:2962 ../src/roster_window.py:2967 +#: ../src/config.py:1289 ../src/config.py:1392 ../src/config.py:1703 +#: ../src/config.py:1708 ../src/config.py:2284 ../src/config.py:2363 +#: ../src/config.py:2376 ../src/config.py:3655 ../src/config.py:3730 +#: ../src/dialogs.py:311 ../src/dialogs.py:313 ../src/dialogs.py:519 +#: ../src/dialogs.py:532 ../src/roster_window.py:3092 +#: ../src/roster_window.py:3098 ../src/roster_window.py:3103 msgid "None" msgstr "なし" @@ -152,7 +147,7 @@ msgid "" msgstr "Jabber ネットワークに接続するには、アカウントが必要です。" #: ../data/gui/account_creation_wizard_window.ui.h:24 -#: ../data/gui/roster_window.ui.h:16 +#: ../data/gui/roster_window.ui.h:17 msgid "_Advanced" msgstr "拡張 (_A)" @@ -165,12 +160,13 @@ msgid "_Hostname:" msgstr "ホスト名 (_H):" #: ../data/gui/account_creation_wizard_window.ui.h:27 -#: ../data/gui/accounts_window.ui.h:62 +#: ../data/gui/accounts_window.ui.h:61 msgid "_Jabber ID:" msgstr "Jabber ID (_J):" #: ../data/gui/account_creation_wizard_window.ui.h:28 -#: ../data/gui/accounts_window.ui.h:64 +#: ../data/gui/accounts_window.ui.h:63 +#: ../data/gui/manage_bookmarks_window.ui.h:8 msgid "_Password:" msgstr "パスワード (_P):" @@ -179,6 +175,7 @@ msgid "_Port:" msgstr "ポート番号 (_P):" #: ../data/gui/account_creation_wizard_window.ui.h:30 +#: ../data/gui/manage_bookmarks_window.ui.h:9 msgid "_Server:" msgstr "サーバー (_S):" @@ -223,19 +220,23 @@ msgid "Auto-reconnect when connection is lost" msgstr "切断したら自動で再接続する" #: ../data/gui/accounts_window.ui.h:11 -#, fuzzy msgid "Browse..." -msgstr "一覧 (_B)" +msgstr "参照..." #: ../data/gui/accounts_window.ui.h:12 msgid "C_onnect on Gajim startup" msgstr "Gajim 起動時に接続する (_o)" #: ../data/gui/accounts_window.ui.h:13 +#, fuzzy +msgid "Certificate is e_ncrypted" +msgstr "証明書は暗号化される (_e)" + +#: ../data/gui/accounts_window.ui.h:14 msgid "Chan_ge Password" msgstr "パスワードを変更する (_g)" -#: ../data/gui/accounts_window.ui.h:14 +#: ../data/gui/accounts_window.ui.h:15 msgid "" "Check this so Gajim will ask you before sending your password over an " "insecure connection." @@ -243,11 +244,6 @@ msgstr "" "チェックをつけると、安全でない接続の前にパスワードを聞いてくるようになりま" "す。" -#: ../data/gui/accounts_window.ui.h:15 -#, fuzzy -msgid "Choose Client Cert" -msgstr "転送するファイルを選択..." - #: ../data/gui/accounts_window.ui.h:16 msgid "Choose _Key..." msgstr "鍵の選択 (_K)..." @@ -261,9 +257,8 @@ msgid "Click to request authorization to all contacts of another account" msgstr "別アカウントのすべての相手先に承認を求めるにはクリック" #: ../data/gui/accounts_window.ui.h:19 -#, fuzzy msgid "Client certificate" -msgstr "自己署名証明書" +msgstr "クライアントの証明書" #: ../data/gui/accounts_window.ui.h:20 msgid "Co_nnect on Gajim startup" @@ -285,18 +280,19 @@ msgstr "名:" #. No configured account #: ../data/gui/accounts_window.ui.h:24 ../data/gui/roster_window.ui.h:5 -#: ../src/common/helpers.py:1159 ../src/common/helpers.py:1171 -#: ../src/notify.py:528 ../src/notify.py:551 ../src/notify.py:600 -#: ../src/notify.py:616 +#: ../src/common/helpers.py:1148 ../src/common/helpers.py:1160 +#: ../src/notify.py:311 ../src/notify.py:334 ../src/notify.py:383 +#: ../src/notify.py:399 msgid "Gajim" msgstr "Gajim" #. FIXME: Ugly workaround. -#. FIXME: Ugly workaround. Maybe we haven't been in any group (defaults to General) +#. FIXME: Ugly workaround. +#. Maybe we haven't been in any group (defaults to General) #. General group cannot be changed -#: ../data/gui/accounts_window.ui.h:25 ../data/gui/preferences_window.ui.h:57 -#: ../src/common/contacts.py:141 ../src/dialogs.py:112 ../src/dialogs.py:122 -#: ../src/roster_window.py:2898 ../src/roster_window.py:5451 +#: ../data/gui/accounts_window.ui.h:25 ../data/gui/preferences_window.ui.h:56 +#: ../src/common/contacts.py:132 ../src/dialogs.py:112 ../src/dialogs.py:124 +#: ../src/roster_window.py:3034 ../src/roster_window.py:5652 msgid "General" msgstr "全般" @@ -355,8 +351,8 @@ msgid "Information about you, as stored in the server" msgstr "サーバに格納する、あなたに関する情報です" #: ../data/gui/accounts_window.ui.h:35 -#: ../data/gui/zeroconf_information_window.ui.h:4 ../src/config.py:1817 -#: ../src/dialogs.py:831 +#: ../data/gui/zeroconf_information_window.ui.h:4 ../src/config.py:1826 +#: ../src/dialogs.py:837 msgid "Jabber ID:" msgstr "Jabber ID:" @@ -369,8 +365,8 @@ msgstr "姓:" msgid "Mer_ge accounts" msgstr "アカウントの統合 (_g)" -#: ../data/gui/accounts_window.ui.h:38 ../src/config.py:1790 -#: ../src/config.py:2358 +#: ../data/gui/accounts_window.ui.h:38 ../src/config.py:1799 +#: ../src/config.py:2377 msgid "No key selected" msgstr "鍵が選択されていません" @@ -397,7 +393,7 @@ msgid "Priority will change automatically according to your status." msgstr "優先順位は、在席状況に応じて自動的に変わります。" #. Rename -#: ../data/gui/accounts_window.ui.h:44 ../src/roster_window.py:5401 +#: ../data/gui/accounts_window.ui.h:44 ../src/roster_window.py:5602 msgid "Re_name" msgstr "名前の変更 (_n)" @@ -437,58 +433,54 @@ msgstr "アカウントの在席状況を全体の在席状況に合わせる (_ #: ../data/gui/accounts_window.ui.h:52 #: ../data/gui/synchronise_select_account_dialog.ui.h:2 msgid "Synchronise contacts" -msgstr "相手先の同期" +msgstr "相手先を合わせる" #: ../data/gui/accounts_window.ui.h:53 -msgid "The path to the client certificate and key in PKCS#12 format" -msgstr "" - -#: ../data/gui/accounts_window.ui.h:54 msgid "Use G_PG Agent" msgstr "GPG エージェントを使う (_P)" -#: ../data/gui/accounts_window.ui.h:55 +#: ../data/gui/accounts_window.ui.h:54 msgid "Use cust_om hostname/port" msgstr "別のホスト名/ポート番号を使う (_o)" -#: ../data/gui/accounts_window.ui.h:56 +#: ../data/gui/accounts_window.ui.h:55 msgid "Use cust_om port:" msgstr "別のポート番号を使う (_o):" -#: ../data/gui/accounts_window.ui.h:57 +#: ../data/gui/accounts_window.ui.h:56 msgid "Use file transfer proxies" msgstr "ファイル転送のプロキシを使う" -#: ../data/gui/accounts_window.ui.h:58 +#: ../data/gui/accounts_window.ui.h:57 msgid "_Client Cert File:" -msgstr "" +msgstr "クライアントの証明書ファイル (_C):" -#: ../data/gui/accounts_window.ui.h:59 +#: ../data/gui/accounts_window.ui.h:58 msgid "_Edit Personal Information..." msgstr "個人情報を編集する (_E)..." #. XML Console enable checkbutton -#: ../data/gui/accounts_window.ui.h:60 ../data/gui/xml_console_window.ui.h:11 +#: ../data/gui/accounts_window.ui.h:59 ../data/gui/xml_console_window.ui.h:11 msgid "_Enable" msgstr "有効 (_E)" -#: ../data/gui/accounts_window.ui.h:61 +#: ../data/gui/accounts_window.ui.h:60 msgid "_Hostname: " msgstr "ホスト名 (_H):" -#: ../data/gui/accounts_window.ui.h:63 +#: ../data/gui/accounts_window.ui.h:62 msgid "_Manage..." msgstr "管理 (_M)..." -#: ../data/gui/accounts_window.ui.h:65 +#: ../data/gui/accounts_window.ui.h:64 msgid "_Port: " msgstr "ポート番号 (_P):" -#: ../data/gui/accounts_window.ui.h:66 +#: ../data/gui/accounts_window.ui.h:65 msgid "_Warn before using an insecure connection" msgstr "安全でない接続の前には警告する (_W)" -#: ../data/gui/accounts_window.ui.h:67 +#: ../data/gui/accounts_window.ui.h:66 msgid "_use HTTP__PROXY environment variable" msgstr "環境変数 HTTP__PROXY を使う (_u)" @@ -532,6 +524,7 @@ msgid "_Group:" msgstr "グループ (_G):" #: ../data/gui/add_new_contact_window.ui.h:12 +#: ../data/gui/manage_bookmarks_window.ui.h:7 msgid "_Nickname:" msgstr "ニックネーム (_N):" @@ -544,9 +537,8 @@ msgid "_Register" msgstr "登録 (_R)" #: ../data/gui/add_new_contact_window.ui.h:15 -#, fuzzy msgid "_Save subscription message" -msgstr "在席通知の申し込み (_S)" +msgstr "在席通知申込のメッセージを保存 (_S)" #: ../data/gui/add_new_contact_window.ui.h:16 msgid "_User ID:" @@ -573,9 +565,8 @@ msgid "Error description..." msgstr "エラーの説明..." #: ../data/gui/adhoc_commands_window.ui.h:6 -#, fuzzy msgid "F_inish" -msgstr "完了 (_F)" +msgstr "完了 (_i)" #: ../data/gui/adhoc_commands_window.ui.h:7 msgid "Please wait while retrieving command list..." @@ -620,9 +611,8 @@ msgid "Deletes Message of the Day" msgstr "今日のメッセージを削除します" #: ../data/gui/advanced_menuitem_menu.ui.h:3 -#, fuzzy msgid "Edit Archi_ving Preferences" -msgstr "設定 (_P)" +msgstr "書庫の設定を編集 (_v)" #: ../data/gui/advanced_menuitem_menu.ui.h:4 msgid "Edit _Privacy Lists..." @@ -660,202 +650,6 @@ msgstr "管理人 (_A)" msgid "_Send Server Message..." msgstr "サーバーメッセージを送信 (_S)..." -#: ../data/gui/advanced_notifications_window.ui.h:1 -msgid " a window/tab opened with that contact " -msgstr "ウィンドウ/タブで開く " - -#: ../data/gui/advanced_notifications_window.ui.h:2 -msgid "Actions" -msgstr "操作" - -#: ../data/gui/advanced_notifications_window.ui.h:3 -#, fuzzy -msgid "Conditions" -msgstr "状況" - -#: ../data/gui/advanced_notifications_window.ui.h:4 -#: ../data/gui/preferences_window.ui.h:17 -msgid "Sounds" -msgstr "耳への通知" - -#: ../data/gui/advanced_notifications_window.ui.h:5 -msgid "Advanced Actions" -msgstr "詳細な操作" - -#: ../data/gui/advanced_notifications_window.ui.h:6 -msgid "Advanced Notifications Control" -msgstr "通知の制御の詳細" - -#: ../data/gui/advanced_notifications_window.ui.h:7 -#, fuzzy -msgid "All statuses" -msgstr "すべての状況" - -#: ../data/gui/advanced_notifications_window.ui.h:8 -#: ../src/common/commands.py:106 ../src/common/helpers.py:239 -#: ../src/tooltips.py:193 -msgid "Away" -msgstr "離席中です" - -#: ../data/gui/advanced_notifications_window.ui.h:9 -msgid "Busy " -msgstr "取り込み中です" - -#: ../data/gui/advanced_notifications_window.ui.h:10 -#, fuzzy -msgid "Contact Change Status " -msgstr "相手先が在席状況を変更" - -#: ../data/gui/advanced_notifications_window.ui.h:11 -#, fuzzy -msgid "Contact Disconnected " -msgstr "相手先が切断した" - -#: ../data/gui/advanced_notifications_window.ui.h:12 -#, fuzzy -msgid "Don't have " -msgstr "持っていません " - -#: ../data/gui/advanced_notifications_window.ui.h:13 -#, fuzzy -msgid "File Transfer Finished" -msgstr "ファイルの転送" - -#: ../data/gui/advanced_notifications_window.ui.h:14 -#, fuzzy -msgid "File Transfer Request " -msgstr "ファイル転送の要求" - -#: ../data/gui/advanced_notifications_window.ui.h:15 -#, fuzzy -msgid "File Transfer Started " -msgstr "ファイルの転送の中断" - -#: ../data/gui/advanced_notifications_window.ui.h:16 -#, fuzzy -msgid "Group Chat Message Highlight " -msgstr "グループチャットのメッセージの強調" - -#: ../data/gui/advanced_notifications_window.ui.h:17 -#, fuzzy -msgid "Group Chat Message Received " -msgstr "グループチャットのメッセージを受信した" - -#: ../data/gui/advanced_notifications_window.ui.h:18 -#, fuzzy -msgid "Have " -msgstr "持っています " - -#: ../data/gui/advanced_notifications_window.ui.h:19 -#: ../src/common/helpers.py:249 -msgid "Invisible" -msgstr "隠れています" - -#: ../data/gui/advanced_notifications_window.ui.h:20 -#, fuzzy -msgid "Launch a command" -msgstr "コマンドを実行する" - -#: ../data/gui/advanced_notifications_window.ui.h:21 -#: ../src/common/helpers.py:222 ../src/tooltips.py:197 -msgid "Not Available" -msgstr "不在です" - -#: ../data/gui/advanced_notifications_window.ui.h:22 -#, fuzzy -msgid "One or more special statuses..." -msgstr "特別な状況..." - -#: ../data/gui/advanced_notifications_window.ui.h:23 -msgid "Online / Free For Chat" -msgstr "オンライン / チャットできます" - -#: ../data/gui/advanced_notifications_window.ui.h:24 -msgid "Play a sound" -msgstr "サウンドを演奏する" - -#: ../data/gui/advanced_notifications_window.ui.h:25 -#, fuzzy -msgid "Receive a Message" -msgstr "新着の私信" - -#: ../data/gui/advanced_notifications_window.ui.h:26 -msgid "When " -msgstr "次の場合: " - -#: ../data/gui/advanced_notifications_window.ui.h:27 -#, fuzzy -msgid "" -"_Activate window manager's UrgencyHint to make chat window in taskbar flash" -msgstr "" -"タスクバーのフラッシュでチャットウィンドウを作るために、ウィンドウマネージャ" -"の UrgencyHint を有効にする (_A)" - -#: ../data/gui/advanced_notifications_window.ui.h:28 -msgid "_Disable auto opening chat window" -msgstr "自動でチャットウィンドウが開くのを禁止する (_D)" - -#: ../data/gui/advanced_notifications_window.ui.h:29 -msgid "_Disable existing popup window" -msgstr "既存のポップアップウィンドウを禁止する (_D)" - -#: ../data/gui/advanced_notifications_window.ui.h:30 -msgid "_Disable existing sound for this event" -msgstr "このイベントのサウンドを禁止する (_D)" - -#: ../data/gui/advanced_notifications_window.ui.h:31 -#, fuzzy -msgid "_Disable showing event in notification area" -msgstr "名簿へのイベントの表示をやめる (_D)" - -#: ../data/gui/advanced_notifications_window.ui.h:32 -msgid "_Disable showing event in roster" -msgstr "名簿へのイベントの表示をやめる (_D)" - -#: ../data/gui/advanced_notifications_window.ui.h:33 -msgid "_Inform me with a popup window" -msgstr "ポップアップウィンドウで知らせる (_I)" - -#: ../data/gui/advanced_notifications_window.ui.h:34 -msgid "_Open chat window with user" -msgstr "ユーザーのチャットウィンドウを開く (_O)" - -#: ../data/gui/advanced_notifications_window.ui.h:35 -#, fuzzy -msgid "_Show event in notification area" -msgstr "イベントを名簿に表示する (_S)" - -#: ../data/gui/advanced_notifications_window.ui.h:36 -msgid "_Show event in roster" -msgstr "イベントを名簿に表示する (_S)" - -#: ../data/gui/advanced_notifications_window.ui.h:37 -msgid "and I " -msgstr "と私 " - -#: ../data/gui/advanced_notifications_window.ui.h:38 -#, fuzzy -msgid "contact(s)" -msgstr "相手先" - -#: ../data/gui/advanced_notifications_window.ui.h:39 -msgid "everybody" -msgstr "" - -#: ../data/gui/advanced_notifications_window.ui.h:40 -#, fuzzy -msgid "for " -msgstr "4" - -#: ../data/gui/advanced_notifications_window.ui.h:41 -#, fuzzy -msgid "group(s)" -msgstr "グループ" - -#: ../data/gui/advanced_notifications_window.ui.h:42 -msgid "when I'm in" -msgstr "" - #: ../data/gui/archiving_preferences_window.ui.h:1 msgid "Method Auto" msgstr "" @@ -871,29 +665,30 @@ msgstr "" #: ../data/gui/archiving_preferences_window.ui.h:4 #, fuzzy msgid "Auto" -msgstr "自動参加" +msgstr "自動化" #: ../data/gui/archiving_preferences_window.ui.h:5 msgid "Concede" -msgstr "" +msgstr "認める" #: ../data/gui/archiving_preferences_window.ui.h:6 msgid "Forbid" -msgstr "" +msgstr "禁止する" +# Auto の選択肢 #: ../data/gui/archiving_preferences_window.ui.h:7 -#, fuzzy msgid "No" -msgstr "なし" +msgstr "しない" #: ../data/gui/archiving_preferences_window.ui.h:8 #, fuzzy msgid "Prefer" -msgstr "設定" +msgstr "その都度選ぶ" +# Auto の選択肢 #: ../data/gui/archiving_preferences_window.ui.h:9 msgid "Yes" -msgstr "" +msgstr "する" #: ../data/gui/atom_entry_window.ui.h:1 msgid "Entry:" @@ -917,14 +712,14 @@ msgstr "新しいエントリーを受け取りました:" #: ../data/gui/blocked_contacts_window.ui.h:1 msgid "Blocked Contacts" -msgstr "拒否されている相手先" +msgstr "遮断している相手先" #: ../data/gui/blocked_contacts_window.ui.h:2 #: ../data/gui/contact_context_menu.ui.h:25 -#: ../data/gui/gc_occupants_menu.ui.h:13 ../src/roster_window.py:5420 -#: ../src/roster_window.py:5548 ../src/roster_window.py:5681 +#: ../data/gui/gc_occupants_menu.ui.h:14 ../src/roster_window.py:5621 +#: ../src/roster_window.py:5748 ../src/roster_window.py:5881 msgid "_Unblock" -msgstr "拒否の解除 (_U)" +msgstr "遮断の解除 (_U)" #: ../data/gui/change_activity_dialog.ui.h:1 msgid "Message: " @@ -985,7 +780,7 @@ msgstr "グループチャットに参加する (_G)" #: ../data/gui/chat_context_menu.ui.h:2 #: ../data/gui/contact_context_menu.ui.h:16 msgid "_Add to Roster..." -msgstr "名簿に追加する (_A)..." +msgstr "名簿に追加 (_A)..." #: ../data/gui/chat_context_menu.ui.h:3 msgid "_Copy JID/Email Address" @@ -1009,14 +804,13 @@ msgstr "リンク先をブラウザで開く (_O)" msgid "_Start Chat" msgstr "チャットの開始 (_S)" -#. # means number -#: ../data/gui/chat_control.ui.h:1 ../src/dialogs.py:4596 +#: ../data/gui/chat_control.ui.h:1 msgid "#" msgstr "#" #: ../data/gui/chat_control.ui.h:2 msgid "*" -msgstr "" +msgstr "*" #: ../data/gui/chat_control.ui.h:3 ../data/gui/single_message_window.ui.h:1 msgid "0" @@ -1024,43 +818,43 @@ msgstr "0" #: ../data/gui/chat_control.ui.h:4 msgid "1" -msgstr "" +msgstr "1" #: ../data/gui/chat_control.ui.h:5 msgid "2" -msgstr "" +msgstr "2" #: ../data/gui/chat_control.ui.h:6 msgid "3" -msgstr "" +msgstr "3" #: ../data/gui/chat_control.ui.h:7 msgid "4" -msgstr "" +msgstr "4" #: ../data/gui/chat_control.ui.h:8 msgid "5" -msgstr "" +msgstr "5" #: ../data/gui/chat_control.ui.h:9 msgid "6" -msgstr "" +msgstr "6" #: ../data/gui/chat_control.ui.h:10 msgid "7" -msgstr "" +msgstr "7" #: ../data/gui/chat_control.ui.h:11 msgid "8" -msgstr "" +msgstr "8" #: ../data/gui/chat_control.ui.h:12 msgid "9" -msgstr "" +msgstr "9" #: ../data/gui/chat_control.ui.h:13 msgid "Add this contact to roster (Ctrl+D)" -msgstr "この相手先を名簿に追加する (Ctrl+D)" +msgstr "相手先を名簿に追加する (Ctrl+D)" #: ../data/gui/chat_control.ui.h:14 ../data/gui/groupchat_control.ui.h:2 msgid "Browse the chat history (Ctrl+H)" @@ -1068,42 +862,41 @@ msgstr "チャットの履歴を見る (Ctrl+H)" #: ../data/gui/chat_control.ui.h:15 msgid "Invite contacts to the conversation (Ctrl+G)" -msgstr "相手先を招待 (Ctrl+G)" +msgstr "相手先を会話に招待する (Ctrl+G)" #: ../data/gui/chat_control.ui.h:16 ../data/gui/groupchat_control.ui.h:5 msgid "Show a list of emoticons (Alt+M)" -msgstr "顔文字の一覧の表示 (Alt+M)" +msgstr "感情アイコンの一覧を表示する (Alt+M)" #: ../data/gui/chat_control.ui.h:17 ../data/gui/groupchat_control.ui.h:6 msgid "Show a list of formattings" -msgstr "書式の一覧の表示" +msgstr "書式の一覧を表示する" #: ../data/gui/chat_control.ui.h:18 ../data/gui/groupchat_control.ui.h:7 -#, fuzzy msgid "Show a menu of advanced functions (Alt+D)" -msgstr "拡張機能の一覧を表示 (Alt+A)" +msgstr "拡張機能のメニューを表示する (Alt+D)" #: ../data/gui/chat_control.ui.h:19 msgid "Show the contact's profile (Ctrl+I)" -msgstr "相手先のプロフィールの表示 (Ctrl+I)" +msgstr "相手先のプロフィールを表示する (Ctrl+I)" #: ../data/gui/chat_control.ui.h:20 msgid "Toggle audio session" -msgstr "" +msgstr "音声セッションにする/しない" #: ../data/gui/chat_control.ui.h:21 msgid "Toggle video session" -msgstr "" +msgstr "ビデオセッションにする/しない" #. Make sure the character after "_" is not M/m (conflicts with Alt+M that is supposed to show the Emoticon Selector) #: ../data/gui/chat_control.ui.h:23 ../data/gui/groupchat_control.ui.h:9 -#: ../data/gui/xml_console_window.ui.h:16 ../src/filetransfers_window.py:266 +#: ../data/gui/xml_console_window.ui.h:16 ../src/filetransfers_window.py:275 msgid "_Send" msgstr "送信 (_S)" #: ../data/gui/chat_control.ui.h:24 ../data/gui/groupchat_control.ui.h:10 msgid "label" -msgstr "" +msgstr "ラベル" #: ../data/gui/chat_to_muc_window.ui.h:1 msgid "In_vite" @@ -1151,8 +944,9 @@ msgstr "グループの変更 (_G)..." #. Invite to #. Invite to Groupchat -#: ../data/gui/contact_context_menu.ui.h:6 ../src/roster_window.py:5356 -#: ../src/roster_window.py:5516 +#: ../data/gui/contact_context_menu.ui.h:6 +#: ../data/gui/gc_occupants_menu.ui.h:1 ../src/roster_window.py:5557 +#: ../src/roster_window.py:5716 msgid "In_vite to" msgstr "招待 (_v)" @@ -1161,16 +955,15 @@ msgid "Invite _Contacts" msgstr "相手先を招待 (_C)" #: ../data/gui/contact_context_menu.ui.h:8 -#, fuzzy msgid "Remo_ve" -msgstr "削除 (_R)" +msgstr "削除 (_v)" -#: ../data/gui/contact_context_menu.ui.h:9 ../src/roster_window.py:5366 -#: ../src/roster_window.py:5605 +#: ../data/gui/contact_context_menu.ui.h:9 ../src/roster_window.py:5567 +#: ../src/roster_window.py:5805 msgid "Send Cus_tom Status" msgstr "個別の在席状況の送信 (_t)" -#: ../data/gui/contact_context_menu.ui.h:10 +#: ../data/gui/contact_context_menu.ui.h:10 ../data/gui/roster_window.ui.h:10 msgid "Send Single _Message..." msgstr "単発メッセージの送信 (_M)..." @@ -1199,10 +992,10 @@ msgid "_Allow him/her to see my status" msgstr "自分の在席状況を見られることを許可する (_A)" #: ../data/gui/contact_context_menu.ui.h:18 -#: ../data/gui/gc_occupants_menu.ui.h:7 ../src/roster_window.py:5428 -#: ../src/roster_window.py:5554 ../src/roster_window.py:5684 +#: ../data/gui/gc_occupants_menu.ui.h:8 ../src/roster_window.py:5629 +#: ../src/roster_window.py:5754 ../src/roster_window.py:5884 msgid "_Block" -msgstr "拒否 (_B)" +msgstr "遮断 (_B)" #: ../data/gui/contact_context_menu.ui.h:19 msgid "_Forbid him/her to see my status" @@ -1210,8 +1003,8 @@ msgstr "自分の在席状況を見られることを禁止する (_F)" #: ../data/gui/contact_context_menu.ui.h:20 #: ../data/gui/gc_control_popup_menu.ui.h:6 -#: ../data/gui/gc_occupants_menu.ui.h:8 ../data/gui/roster_window.ui.h:22 -#: ../src/roster_window.py:5755 +#: ../data/gui/gc_occupants_menu.ui.h:9 ../data/gui/roster_window.ui.h:23 +#: ../src/roster_window.py:5955 msgid "_History" msgstr "履歴 (_H)" @@ -1239,20 +1032,17 @@ msgstr "無視しない (_U)" msgid "Fill in the form." msgstr "次の欄を埋めてください。" -# (Mako)Personal Eventing via Pubsub #: ../data/gui/data_form_window.ui.h:2 -#, fuzzy msgid "Room Configuration" -msgstr "PEP サービスの調整" +msgstr "談話室の構成" #: ../data/gui/edit_groups_dialog.ui.h:1 msgid "Edit Groups" msgstr "グループの編集" #: ../data/gui/esession_info_window.ui.h:1 -#, fuzzy msgid "(ESession info)" -msgstr "説明" +msgstr "(暗号化セッション 情報)" #: ../data/gui/esession_info_window.ui.h:2 msgid "_Verify" @@ -1271,9 +1061,8 @@ msgid "A list of active, completed and stopped file transfers" msgstr "ファイル転送の転送中、完了、中止の一覧" #: ../data/gui/filetransfers.ui.h:2 -#, fuzzy msgid "Cancel file transfer" -msgstr "選択されたファイルの転送を中止します" +msgstr "ファイルの転送を中止する" #: ../data/gui/filetransfers.ui.h:3 msgid "Cancels the selected file transfer" @@ -1320,7 +1109,7 @@ msgstr "" msgid "When a file transfer is complete show a popup notification" msgstr "ファイル転送が完了したら、ポップアップで知らせる" -#: ../data/gui/filetransfers.ui.h:13 ../src/filetransfers_window.py:788 +#: ../data/gui/filetransfers.ui.h:13 ../src/filetransfers_window.py:798 msgid "_Continue" msgstr "続ける (_C)" @@ -1330,7 +1119,6 @@ msgstr "ファイル転送が完了したら知らせる (_N)" # #(Mako)Containing をどうする #: ../data/gui/filetransfers.ui.h:15 ../src/filetransfers_window.py:205 -#, fuzzy msgid "_Open Containing Folder" msgstr "フォルダを開く (_O)" @@ -1347,26 +1135,24 @@ msgid "Chatstate Tab Colors" msgstr "チャット状態のタブの色" #: ../data/gui/gajim_themes_window.ui.h:2 -#, fuzzy msgid "Account row" -msgstr "アカウント" +msgstr "アカウントの行" -#: ../data/gui/gajim_themes_window.ui.h:3 ../src/chat_control.py:942 +#: ../data/gui/gajim_themes_window.ui.h:3 ../src/chat_control.py:1030 msgid "Bold" msgstr "太字にする" #: ../data/gui/gajim_themes_window.ui.h:4 msgid "Chat Banner" -msgstr "" +msgstr "チャットのバナー" #: ../data/gui/gajim_themes_window.ui.h:5 msgid "Composing" msgstr "入力中" #: ../data/gui/gajim_themes_window.ui.h:6 -#, fuzzy msgid "Contact row" -msgstr "相手先" +msgstr "相手先の行" #: ../data/gui/gajim_themes_window.ui.h:7 msgid "Font style:" @@ -1378,18 +1164,17 @@ msgstr "Gajim テーマのカスタマイズ" #: ../data/gui/gajim_themes_window.ui.h:9 msgid "Gone" -msgstr "不在" +msgstr "終了" #: ../data/gui/gajim_themes_window.ui.h:10 -#, fuzzy msgid "Group row" -msgstr "グループ" +msgstr "グループの行" #: ../data/gui/gajim_themes_window.ui.h:11 ../src/common/pep.py:150 msgid "Inactive" -msgstr "活動停止中" +msgstr "停止中" -#: ../data/gui/gajim_themes_window.ui.h:12 ../src/chat_control.py:943 +#: ../data/gui/gajim_themes_window.ui.h:12 ../src/chat_control.py:1031 msgid "Italic" msgstr "イタリック" @@ -1411,7 +1196,7 @@ msgstr "" #: ../data/gui/gajim_themes_window.ui.h:17 msgid "Paused" -msgstr "一時停止中" +msgstr "休止中" #: ../data/gui/gajim_themes_window.ui.h:18 msgid "Text _color:" @@ -1453,67 +1238,70 @@ msgstr "談話室の管理 (_M)" msgid "_Minimize on close" msgstr "閉じるボタンで最小化 (_M)" -#: ../data/gui/gc_occupants_menu.ui.h:1 +#: ../data/gui/gc_control_popup_menu.ui.h:9 +msgid "_Request Voice" +msgstr "発言権を要求 (_R)" + +#: ../data/gui/gc_occupants_menu.ui.h:2 msgid "Mo_derator" msgstr "司会者 (_d)" -#: ../data/gui/gc_occupants_menu.ui.h:2 +#: ../data/gui/gc_occupants_menu.ui.h:3 msgid "Occupant Actions" msgstr "在室者の操作" -#: ../data/gui/gc_occupants_menu.ui.h:3 +#: ../data/gui/gc_occupants_menu.ui.h:4 msgid "Send _File" msgstr "ファイルの送信 (_F)" -#: ../data/gui/gc_occupants_menu.ui.h:4 +#: ../data/gui/gc_occupants_menu.ui.h:5 msgid "_Add to Roster" msgstr "名簿に追加 (A)" -#: ../data/gui/gc_occupants_menu.ui.h:5 +#: ../data/gui/gc_occupants_menu.ui.h:6 msgid "_Admin" msgstr "管理人 (_A)" -#: ../data/gui/gc_occupants_menu.ui.h:6 +#: ../data/gui/gc_occupants_menu.ui.h:7 msgid "_Ban" msgstr "締め出し (_B)" -#: ../data/gui/gc_occupants_menu.ui.h:9 +#: ../data/gui/gc_occupants_menu.ui.h:10 msgid "_Kick" msgstr "蹴り出し (_K)" -#: ../data/gui/gc_occupants_menu.ui.h:10 +#: ../data/gui/gc_occupants_menu.ui.h:11 msgid "_Member" msgstr "メンバー (_M)" -#: ../data/gui/gc_occupants_menu.ui.h:11 +#: ../data/gui/gc_occupants_menu.ui.h:12 msgid "_Owner" msgstr "主宰者 (_O)" -#: ../data/gui/gc_occupants_menu.ui.h:12 +#: ../data/gui/gc_occupants_menu.ui.h:13 msgid "_Send Private Message" msgstr "私信を送る (_S)" # (Mako)moderated room での発言する権利 -#: ../data/gui/gc_occupants_menu.ui.h:14 +#: ../data/gui/gc_occupants_menu.ui.h:15 msgid "_Voice" msgstr "発言権 (_V)" #: ../data/gui/groupchat_control.ui.h:1 msgid "Bookmark this room (Ctrl+B)" -msgstr "この談話室をブックマーク (Ctrl+B)" +msgstr "この談話室をブックマークする (Ctrl+B)" #: ../data/gui/groupchat_control.ui.h:3 msgid "Change the room's subject (Alt+T)" -msgstr "談話室の題の変更 (Alt+T)" +msgstr "談話室の題を変更する (Alt+T)" #: ../data/gui/groupchat_control.ui.h:4 msgid "Change your nickname (Ctrl+N)" -msgstr "ニックネームの変更 (Ctrl+N)" +msgstr "ニックネームを変更する (Ctrl+N)" #: ../data/gui/groups_post_window.ui.h:1 -#, fuzzy msgid "Create new post" -msgstr "新しいポストの作成" +msgstr "新しい投稿を作成" #: ../data/gui/groups_post_window.ui.h:2 #: ../data/gui/single_message_window.ui.h:2 @@ -1539,21 +1327,15 @@ msgstr "" msgid "Welcome to Gajim History Logs Manager" msgstr "Gajim 履歴記録マネージャ" -#. Change label for accept_button to action name instead of 'OK'. -#: ../data/gui/history_manager.ui.h:4 ../src/dialogs.py:3224 -#: ../src/dialogs.py:3321 -msgid "Delete" -msgstr "削除" - -#: ../data/gui/history_manager.ui.h:5 +#: ../data/gui/history_manager.ui.h:4 msgid "Export" msgstr "書き出し" -#: ../data/gui/history_manager.ui.h:6 +#: ../data/gui/history_manager.ui.h:5 msgid "Gajim History Logs Manager" msgstr "Gajim 履歴記録マネージャ" -#: ../data/gui/history_manager.ui.h:7 +#: ../data/gui/history_manager.ui.h:6 msgid "" "This log manager is not intended for log viewing. If you are looking for " "such functionality, use the history window instead.\n" @@ -1567,28 +1349,25 @@ msgstr "" "このプログラムは記録の削除や書き出しのためにお使いください。左の一覧から記録" "を選択し、また下の欄でデータベースを検索することができます。" -#: ../data/gui/history_manager.ui.h:10 +#: ../data/gui/history_manager.ui.h:9 msgid "_Search Database" msgstr "データベースの検索 (_S)" #: ../data/gui/history_window.ui.h:1 -#, fuzzy msgid "All Chat Histories" -msgstr "すべての状況" +msgstr "すべてのチャットの履歴" #: ../data/gui/history_window.ui.h:2 ../src/history_window.py:323 msgid "Conversation History" msgstr "会話の履歴" #: ../data/gui/history_window.ui.h:3 -#, fuzzy msgid "Enter JID or Contact name" -msgstr "名前" +msgstr "JID または相手先の名前を入力してください" #: ../data/gui/history_window.ui.h:4 -#, fuzzy msgid "Groupchat Histories" -msgstr "グループチャット" +msgstr "グループチャットの履歴" #: ../data/gui/history_window.ui.h:5 msgid "Search:" @@ -1624,13 +1403,11 @@ msgid "forbid" msgstr "" #: ../data/gui/item_archiving_preferences_window.ui.h:7 -#: ../src/gajim-remote-plugin.py:213 ../src/gajim-remote.py:229 +#: ../src/gajim-remote.py:229 msgid "jid" msgstr "jid" #: ../data/gui/item_archiving_preferences_window.ui.h:8 -#: ../src/gajim-remote-plugin.py:107 ../src/gajim-remote-plugin.py:128 -#: ../src/gajim-remote-plugin.py:142 ../src/gajim-remote-plugin.py:153 #: ../src/gajim-remote.py:110 ../src/gajim-remote.py:133 #: ../src/gajim-remote.py:144 ../src/gajim-remote.py:158 #: ../src/gajim-remote.py:169 ../src/gajim-remote.py:282 @@ -1642,9 +1419,8 @@ msgid "oppose" msgstr "" #: ../data/gui/item_archiving_preferences_window.ui.h:10 -#, fuzzy msgid "otr" -msgstr "暑" +msgstr "" #: ../data/gui/item_archiving_preferences_window.ui.h:11 msgid "prefer" @@ -1663,26 +1439,22 @@ msgid "stream" msgstr "" #: ../data/gui/join_groupchat_window.ui.h:2 -#, fuzzy msgid "Bro_wse Rooms" -msgstr "一覧 (_B)" +msgstr "談話室を一覧 (_w)" -#: ../data/gui/join_groupchat_window.ui.h:3 ../src/dialogs.py:2196 +#: ../data/gui/join_groupchat_window.ui.h:3 ../src/dialogs.py:2328 msgid "Join Group Chat" msgstr "グループチャットに参加" #: ../data/gui/join_groupchat_window.ui.h:4 -#, fuzzy msgid "Join this room _automatically when I connect" -msgstr "接続時に自動的にこの談話室に参加する" +msgstr "接続時に自動的にこの談話室に参加する (_a)" #: ../data/gui/join_groupchat_window.ui.h:5 -#: ../data/gui/manage_bookmarks_window.ui.h:5 msgid "Nickname:" msgstr "ニックネーム:" #: ../data/gui/join_groupchat_window.ui.h:6 -#: ../data/gui/manage_bookmarks_window.ui.h:6 msgid "Password:" msgstr "パスワード:" @@ -1691,28 +1463,25 @@ msgid "Recently:" msgstr "最近使った:" #: ../data/gui/join_groupchat_window.ui.h:8 -#: ../data/gui/manage_bookmarks_window.ui.h:8 msgid "Room:" msgstr "談話室:" -#: ../data/gui/join_groupchat_window.ui.h:9 -#: ../data/gui/manage_bookmarks_window.ui.h:9 ../src/config.py:1807 +#: ../data/gui/join_groupchat_window.ui.h:9 ../src/config.py:1816 msgid "Server:" msgstr "サーバー:" #: ../data/gui/join_groupchat_window.ui.h:10 -#, fuzzy msgid "_Bookmark this room" -msgstr "この談話室をブックマーク" +msgstr "この談話室をブックマーク (_B)" -#: ../data/gui/join_groupchat_window.ui.h:11 ../src/disco.py:1359 +#: ../data/gui/join_groupchat_window.ui.h:11 ../src/disco.py:1361 #: ../src/disco.py:1804 msgid "_Join" msgstr "参加 (_J)" #: ../data/gui/manage_bookmarks_window.ui.h:1 -msgid "Auto join" -msgstr "自動参加" +msgid "A_uto join" +msgstr "自動参加 (_u)" #: ../data/gui/manage_bookmarks_window.ui.h:2 msgid "If checked, Gajim will join this group chat on startup" @@ -1723,20 +1492,23 @@ msgid "Manage Bookmarks" msgstr "ブックマークの管理" #: ../data/gui/manage_bookmarks_window.ui.h:4 -msgid "Minimize on Auto Join" -msgstr "自動参加して最小化" +msgid "Minimi_ze on Auto Join" +msgstr "自動参加して最小化 (_z)" -#: ../data/gui/manage_bookmarks_window.ui.h:7 -msgid "Print status:" -msgstr "状況の表示:" +#: ../data/gui/manage_bookmarks_window.ui.h:5 +msgid "Pr_int status:" +msgstr "状況の表示 (_i):" + +#: ../data/gui/manage_bookmarks_window.ui.h:6 +msgid "Roo_m:" +msgstr "談話室 (_m):" #: ../data/gui/manage_bookmarks_window.ui.h:10 -msgid "Title:" -msgstr "タイトル:" +msgid "_Title:" +msgstr "タイトル (_T):" # (Mako)Personal Eventing via Pubsub #: ../data/gui/manage_pep_services_window.ui.h:1 -#, fuzzy msgid "PEP Service Configuration" msgstr "PEP サービスの調整" @@ -1754,12 +1526,11 @@ msgstr "設定" #: ../data/gui/manage_proxies_window.ui.h:3 msgid "BOSH" -msgstr "" +msgstr "BOSH" #: ../data/gui/manage_proxies_window.ui.h:4 -#, fuzzy msgid "HTTP Connect" -msgstr "接続中" +msgstr "HTTP 接続" #: ../data/gui/manage_proxies_window.ui.h:5 msgid "Manage Proxy Profiles" @@ -1779,7 +1550,7 @@ msgstr "プロキシのポート (_P):" #: ../data/gui/manage_proxies_window.ui.h:9 msgid "SOCKS5" -msgstr "" +msgstr "SOCKS5" #: ../data/gui/manage_proxies_window.ui.h:10 msgid "Use HTTP prox_y" @@ -1791,7 +1562,7 @@ msgstr "プロクシの認証を使用する (_e)" #: ../data/gui/manage_proxies_window.ui.h:12 msgid "_BOSH URL:" -msgstr "BOSH URL (_B):" +msgstr "_BOSH URL:" #: ../data/gui/manage_proxies_window.ui.h:13 msgid "_Name:" @@ -1811,82 +1582,67 @@ msgstr "パスフレーズ" #: ../data/gui/plugins_window.ui.h:1 msgid "<empty>" -msgstr "" +msgstr "<空>" #: ../data/gui/plugins_window.ui.h:2 msgid "" -msgstr "" +msgstr "<空>" #: ../data/gui/plugins_window.ui.h:3 -#, fuzzy msgid "Authors:" -msgstr "承認する (_t)" +msgstr "作者:" #: ../data/gui/plugins_window.ui.h:4 -#, fuzzy -msgid "Available" -msgstr "在席 (_A)" +msgid "Configure" +msgstr "調整" #: ../data/gui/plugins_window.ui.h:5 -#, fuzzy -msgid "Configure" -msgstr "調整 (_C)" - -#: ../data/gui/plugins_window.ui.h:6 -#, fuzzy -msgid "Descrition:" +msgid "Description:" msgstr "説明: " -#: ../data/gui/plugins_window.ui.h:7 -#, fuzzy +#: ../data/gui/plugins_window.ui.h:6 msgid "Homepage:" -msgstr "ホームページ:" +msgstr "ホームページ:" + +#: ../data/gui/plugins_window.ui.h:7 +msgid "Install from zip" +msgstr "zip からインストール" #: ../data/gui/plugins_window.ui.h:8 -msgid "Install" -msgstr "" +msgid "Installed" +msgstr "インストール済" #: ../data/gui/plugins_window.ui.h:9 -#, fuzzy -msgid "Installed" -msgstr "滞っています" - -#: ../data/gui/plugins_window.ui.h:10 msgid "" "Plug-in decription should be displayed here. This text will be erased during " "PluginsWindow initialization." msgstr "" +"プラグインの説明がここに表示されます。この文はプラグインウィンドウの初期化の" +"際に消去されます。" + +#: ../data/gui/plugins_window.ui.h:10 +msgid "Plugins" +msgstr "プラグイン" #: ../data/gui/plugins_window.ui.h:11 -msgid "Plugins" -msgstr "" +msgid "Uninstall" +msgstr "アンインストール" #: ../data/gui/plugins_window.ui.h:12 -msgid "Uninstall" -msgstr "" +msgid "Version:" +msgstr "バージョン:" #: ../data/gui/plugins_window.ui.h:13 -#, fuzzy -msgid "Version:" -msgstr "GTK+ バージョン:" - -#: ../data/gui/plugins_window.ui.h:14 -msgid "button" -msgstr "" - -#: ../data/gui/plugins_window.ui.h:15 msgid "homepage url" -msgstr "" +msgstr "ホームページ URL" #: ../data/gui/popup_notification_window.ui.h:1 -#, fuzzy msgid "Event Type" -msgstr "イベント" +msgstr "イベントの種類" #: ../data/gui/popup_notification_window.ui.h:2 -#, fuzzy msgid "Event desc" -msgstr "イベント" +msgstr "イベントの説明" #: ../data/gui/preferences_window.ui.h:1 msgid "Advanced Configuration Editor" @@ -1897,9 +1653,8 @@ msgid "Applications" msgstr "アプリケーション" #: ../data/gui/preferences_window.ui.h:3 -#, fuzzy msgid "Audio" -msgstr "操作" +msgstr "音声" #: ../data/gui/preferences_window.ui.h:4 msgid "Auto Status" @@ -1918,13 +1673,11 @@ msgid "Chat state notifications" msgstr "チャット状態の通知" #: ../data/gui/preferences_window.ui.h:8 -#, fuzzy msgid "Connection" -msgstr "状況" +msgstr "接続" #. a header for custom browser/client/file manager. so translate sth like: Custom Settings #: ../data/gui/preferences_window.ui.h:10 -#, fuzzy msgid "Custom" msgstr "カスタム" @@ -1948,6 +1701,10 @@ msgstr "プライバシー" msgid "Roster Appearance" msgstr "名簿の外観" +#: ../data/gui/preferences_window.ui.h:17 +msgid "Sounds" +msgstr "耳への通知" + #: ../data/gui/preferences_window.ui.h:18 msgid "Status Messages" msgstr "在席状況のメッセージ" @@ -1957,9 +1714,8 @@ msgid "Themes" msgstr "テーマ" #: ../data/gui/preferences_window.ui.h:20 -#, fuzzy msgid "Video" -msgstr "Middle:" +msgstr "ビデオ" #: ../data/gui/preferences_window.ui.h:21 msgid "Visual Notifications" @@ -1967,144 +1723,131 @@ msgstr "目への通知" #: ../data/gui/preferences_window.ui.h:22 msgid "(example: stunserver.org)" -msgstr "" +msgstr "(例: stunserver.org)" #: ../data/gui/preferences_window.ui.h:23 msgid "Advanced" msgstr "拡張" #: ../data/gui/preferences_window.ui.h:24 -msgid "Advanced..." -msgstr "拡張..." +msgid "All chat states" +msgstr "すべてのチャット状態" #: ../data/gui/preferences_window.ui.h:25 -#, fuzzy -msgid "All chat states" -msgstr "すべての状況" - -#: ../data/gui/preferences_window.ui.h:26 msgid "Allow _OS information to be sent" msgstr "OS 情報の送信を許可する (_O)" -#: ../data/gui/preferences_window.ui.h:27 -#, fuzzy +#: ../data/gui/preferences_window.ui.h:26 msgid "Allow my _idle time to be sent" -msgstr "OS 情報の送信を許可する (_O)" +msgstr "操作しない時間の送信を許可する (_i)" -#: ../data/gui/preferences_window.ui.h:28 +#: ../data/gui/preferences_window.ui.h:27 msgid "Allow popup/notifications when I'm _away/na/busy/invisible" msgstr "離席/不在/取り込み中/隠れ中のポップアップ/通知を許可する (_a)" -#: ../data/gui/preferences_window.ui.h:29 +#: ../data/gui/preferences_window.ui.h:28 msgid "Allow sound when I'm _busy" msgstr "取り込み中でもサウンドを鳴らす (_b)" -#: ../data/gui/preferences_window.ui.h:30 -#, fuzzy +#: ../data/gui/preferences_window.ui.h:29 msgid "Always" -msgstr "離席中です" +msgstr "常に" # (Mako)語順が難しい -#: ../data/gui/preferences_window.ui.h:31 +#: ../data/gui/preferences_window.ui.h:30 msgid "Ask status message when I:" msgstr "状況メッセージを求めるのは、私が " -#: ../data/gui/preferences_window.ui.h:32 ../src/features_window.py:105 +#: ../data/gui/preferences_window.ui.h:31 ../src/features_window.py:106 msgid "Audio / Video" -msgstr "" +msgstr "音声/ビデオ" + +#: ../data/gui/preferences_window.ui.h:32 +msgid "Audio input device" +msgstr "音声入力デバイス" #: ../data/gui/preferences_window.ui.h:33 -#, fuzzy -msgid "Audio input device" -msgstr "デフォルトのメッセージ" +msgid "Audio output device" +msgstr "音声出力デバイス" #: ../data/gui/preferences_window.ui.h:34 -msgid "Audio output device" -msgstr "" - -#: ../data/gui/preferences_window.ui.h:35 msgid "Chat message:" msgstr "チャットメッセージ:" -#: ../data/gui/preferences_window.ui.h:36 +#: ../data/gui/preferences_window.ui.h:35 msgid "Check on startup if Gajim is the _default Jabber client" msgstr "起動時に、Gajim がデフォルトの Jabber クライアントかを調べる (_d)" -#: ../data/gui/preferences_window.ui.h:37 -#, fuzzy +#: ../data/gui/preferences_window.ui.h:36 msgid "Composing only" -msgstr "入力中" +msgstr "入力中のみ" -#: ../data/gui/preferences_window.ui.h:38 +#: ../data/gui/preferences_window.ui.h:37 msgid "Configure color and font of the interface" msgstr "色とフォントの調整" -#: ../data/gui/preferences_window.ui.h:39 -#, fuzzy +#: ../data/gui/preferences_window.ui.h:38 msgid "Contact's message:" -msgstr "チャットメッセージ:" +msgstr "相手先のメッセージ:" + +#: ../data/gui/preferences_window.ui.h:39 +msgid "Contact's nickname:" +msgstr "相手先のニックネーム:" #: ../data/gui/preferences_window.ui.h:40 -#, fuzzy -msgid "Contact's nickname:" -msgstr "名前" +msgid "Custom" +msgstr "カスタム" #: ../data/gui/preferences_window.ui.h:41 -#, fuzzy -msgid "Custom" -msgstr "カスタム" +msgid "Detached roster with chat grouped by account" +msgstr "名簿は別ウィンドウ、チャットはアカウントでまとめたウィンドウ" #: ../data/gui/preferences_window.ui.h:42 -msgid "Detached roster with chat grouped by account" -msgstr "" +msgid "Detached roster with chat grouped by type" +msgstr "名簿は別ウィンドウ、チャットは種類でまとめたウィンドウ" #: ../data/gui/preferences_window.ui.h:43 -msgid "Detached roster with chat grouped by type" -msgstr "" +msgid "Detached roster with detached chats" +msgstr "名簿は別ウィンドウ、チャットは個々のウィンドウ" #: ../data/gui/preferences_window.ui.h:44 -msgid "Detached roster with detached chats" -msgstr "" - -#: ../data/gui/preferences_window.ui.h:45 msgid "Detached roster with single chat" -msgstr "" +msgstr "名簿は別ウィンドウ、チャットはひとつにまとめたウィンドウ" -#: ../data/gui/preferences_window.ui.h:46 ../src/config.py:170 -#: ../src/config.py:665 +#: ../data/gui/preferences_window.ui.h:45 ../src/config.py:170 +#: ../src/config.py:672 msgid "Disabled" msgstr "無効" -#: ../data/gui/preferences_window.ui.h:47 +#: ../data/gui/preferences_window.ui.h:46 msgid "Display _activity of contacts in roster" msgstr "名簿に相手先の動向を表示する (_a)" -#: ../data/gui/preferences_window.ui.h:48 +#: ../data/gui/preferences_window.ui.h:47 msgid "Display _extra email details" msgstr "メールの詳細を表示する (_e)" -#: ../data/gui/preferences_window.ui.h:49 -#, fuzzy +#: ../data/gui/preferences_window.ui.h:48 msgid "Display _location of contacts in roster" -msgstr "名簿に相手先の気分を表示する (_o)" +msgstr "名簿に相手先の位置を表示する (_l)" -#: ../data/gui/preferences_window.ui.h:50 +#: ../data/gui/preferences_window.ui.h:49 msgid "Display _tunes of contacts in roster" msgstr "名簿に相手先の聴いている楽曲を表示する (_t)" -#: ../data/gui/preferences_window.ui.h:51 +#: ../data/gui/preferences_window.ui.h:50 msgid "Display a_vatars of contacts in roster" msgstr "名簿に相手先のアバターを表示する" -#: ../data/gui/preferences_window.ui.h:52 +#: ../data/gui/preferences_window.ui.h:51 msgid "Display m_ood of contacts in roster" msgstr "名簿に相手先の気分を表示する (_o)" -#: ../data/gui/preferences_window.ui.h:53 +#: ../data/gui/preferences_window.ui.h:52 msgid "Display status _messages of contacts in roster" msgstr "名簿に相手先の状況メッセージを表示する" -#: ../data/gui/preferences_window.ui.h:54 +#: ../data/gui/preferences_window.ui.h:53 msgid "" "Gajim can send and receive meta-information related to a conversation you " "may have with a contact. Here you can specify which chatstates you want to " @@ -2113,7 +1856,7 @@ msgstr "" "Gajim は、相手先との会話に関連するメタ情報の送受信ができます。ここでは、" "チャットウィンドウへのチャット状態の表示について指定します。" -#: ../data/gui/preferences_window.ui.h:55 +#: ../data/gui/preferences_window.ui.h:54 msgid "" "Gajim can send and receive meta-information related to a conversation you " "may have with a contact. Here you can specify which chatstates you want to " @@ -2122,7 +1865,7 @@ msgstr "" "Gajim は、相手先との会話に関連するメタ情報の送受信ができます。ここでは、" "チャット状態の他人への送信について指定します。" -#: ../data/gui/preferences_window.ui.h:56 +#: ../data/gui/preferences_window.ui.h:55 msgid "" "Gajim will notify you via a popup window in the bottom right of the screen " "about contacts that just signed out" @@ -2130,30 +1873,30 @@ msgstr "" "画面の右下のポップアップウィンドウで、相手先がサインアウトしたときに通知しま" "す" -#: ../data/gui/preferences_window.ui.h:58 +#: ../data/gui/preferences_window.ui.h:57 msgid "Hide all buttons in chat windows" msgstr "チャットウィンドウのすべてのボタンを隠します" -#: ../data/gui/preferences_window.ui.h:59 +#: ../data/gui/preferences_window.ui.h:58 msgid "" "If checked, Gajim will allow others to detect the operation system you are " "using" msgstr "チェックをつけると、Gajim は使用中の OS を知られることを許可します" -#: ../data/gui/preferences_window.ui.h:60 +#: ../data/gui/preferences_window.ui.h:59 msgid "" "If checked, Gajim will also include information about the sender of the new " "emails" msgstr "チェックをつけると、Gajim は電子メールの送信者の情報を含めます" -#: ../data/gui/preferences_window.ui.h:61 +#: ../data/gui/preferences_window.ui.h:60 msgid "" "If checked, Gajim will change status to Away when the computer is unused." msgstr "" "チェックをつけると、Gajim はコンピュータが使われていないとき、在席状況を「離" "席中」に変更します" -#: ../data/gui/preferences_window.ui.h:62 +#: ../data/gui/preferences_window.ui.h:61 msgid "" "If checked, Gajim will change status to Not Available when the computer has " "not been used even longer" @@ -2161,7 +1904,7 @@ msgstr "" "チェックをつけると、Gajim はコンピュータが長い間使われていないとき、在席状況" "を「不在」に変更します" -#: ../data/gui/preferences_window.ui.h:63 +#: ../data/gui/preferences_window.ui.h:62 msgid "" "If checked, Gajim will display avatars of contacts in roster window and in " "group chats" @@ -2169,7 +1912,7 @@ msgstr "" "チェックをつけると、Gajim は名簿ウィンドウとグループチャットに相手先のアバ" "ターを表示します" -#: ../data/gui/preferences_window.ui.h:64 +#: ../data/gui/preferences_window.ui.h:63 msgid "" "If checked, Gajim will display status messages of contacts under the contact " "name in roster window and in group chats" @@ -2177,30 +1920,30 @@ msgstr "" "チェックをつけると、Gajim は名簿ウィンドウとグループチャットの相手先名の下に" "状況メッセージを表示します" -#: ../data/gui/preferences_window.ui.h:65 +#: ../data/gui/preferences_window.ui.h:64 msgid "" "If checked, Gajim will display the activity of contacts in the roster window" msgstr "チェックをつけると、Gajim は名簿ウィンドウに相手先の動向を表示します" -#: ../data/gui/preferences_window.ui.h:66 -#, fuzzy +#: ../data/gui/preferences_window.ui.h:65 msgid "" "If checked, Gajim will display the location of contacts in the roster window" -msgstr "チェックをつけると、Gajim は名簿ウィンドウに相手先の気分を表示します" +msgstr "" +"チェックをつけると、Gajim は名簿ウィンドウに相手先の位置情報を表示します" -#: ../data/gui/preferences_window.ui.h:67 +#: ../data/gui/preferences_window.ui.h:66 msgid "" "If checked, Gajim will display the mood of contacts in the roster window" msgstr "チェックをつけると、Gajim は名簿ウィンドウに相手先の気分を表示します" -#: ../data/gui/preferences_window.ui.h:68 +#: ../data/gui/preferences_window.ui.h:67 msgid "" "If checked, Gajim will display the tunes of contacts in the roster window" msgstr "" "チェックをつけると、Gajim は名簿ウィンドウに相手先の聴いている楽曲を表示しま" "す" -#: ../data/gui/preferences_window.ui.h:69 +#: ../data/gui/preferences_window.ui.h:68 msgid "" "If checked, Gajim will highlight spelling errors in input fields of chat " "windows. If no language is explicitly set via right click on the input " @@ -2211,16 +1954,16 @@ msgstr "" "ていない場合は、この相手先やグループチャットにはデフォルトの言語が適用されま" "す。" -#: ../data/gui/preferences_window.ui.h:70 +#: ../data/gui/preferences_window.ui.h:69 msgid "" "If checked, Gajim will ignore incoming events from unauthorized contacts. " "Use with caution, because it blocks all messages from any contact that is " "not in the roster" msgstr "" "チェックをつけると、Gajim は承認していない相手先からのイベントを無視します。" -"名簿にない相手先からのすべてのメッセージを拒否しますので、注意してください。" +"名簿にない相手先からのすべてのメッセージを遮断しますので、注意してください。" -#: ../data/gui/preferences_window.ui.h:71 +#: ../data/gui/preferences_window.ui.h:70 msgid "" "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 " @@ -2230,7 +1973,7 @@ msgstr "" "号化 (E2EE) の場合は相手先が記録に同意していなければなりません。そうでなけれ" "ば記録しないでください。" -#: ../data/gui/preferences_window.ui.h:72 +#: ../data/gui/preferences_window.ui.h:71 msgid "" "If checked, Gajim will show a notification when a new e-mail is received via " "GMail" @@ -2238,7 +1981,7 @@ msgstr "" "チェックをつけると、Gajim は GMail 経由で新しいメールを受け取ったとき、通知し" "ます" -#: ../data/gui/preferences_window.ui.h:73 +#: ../data/gui/preferences_window.ui.h:72 msgid "" "If checked, Gajim will use protocol-specific status icons. (eg. A contact " "from MSN will have the equivalent msn icon for status online, away, busy, " @@ -2248,7 +1991,7 @@ msgstr "" "(例: MSN からの相手先にはオンライン、離席、取り込み中...などの対応する MSN の" "アイコンがあります)" -#: ../data/gui/preferences_window.ui.h:74 +#: ../data/gui/preferences_window.ui.h:73 msgid "" "If enabled, Gajim will not ask for a status message. The specified default " "message will be used instead." @@ -2256,7 +1999,7 @@ msgstr "" "チェックをつけると、Gajim は状況メッセージを要求しません。かわりに対応するデ" "フォルトのメッセージが使われます。" -#: ../data/gui/preferences_window.ui.h:75 +#: ../data/gui/preferences_window.ui.h:74 msgid "" "If not disabled, Gajim will replace ascii smilies like ':)' with equivalent " "animated or static graphical emoticons" @@ -2264,6 +2007,11 @@ msgstr "" "「無効」でなければ、Gajim は ':)' のようなスマイリーを対応する画像に置き換え" "ます" +# 起動時に名簿を表示するか +#: ../data/gui/preferences_window.ui.h:75 +msgid "Last state" +msgstr "以前の状態" + #: ../data/gui/preferences_window.ui.h:76 msgid "Log _encrypted chat session" msgstr "暗号化チャットを記録する (_e)" @@ -2276,10 +2024,10 @@ msgstr "メッセージウィンドウを簡潔にする (_k)" msgid "Ma_nage..." msgstr "設定 (_n)..." +# (Mako)systrayに表示 #: ../data/gui/preferences_window.ui.h:79 -#, fuzzy msgid "Never" -msgstr "サーバー" +msgstr "しない" #: ../data/gui/preferences_window.ui.h:80 msgid "Notifications" @@ -2287,28 +2035,23 @@ msgstr "通知" #: ../data/gui/preferences_window.ui.h:81 msgid "Notify me about contacts that sign _in" -msgstr "相手先のログインを通知する (_i)" +msgstr "相手先のサインインを通知する (_i)" #: ../data/gui/preferences_window.ui.h:82 msgid "Notify me about contacts that sign _out" -msgstr "相手先のログアウトを通知する (_o)" +msgstr "相手先のサインアウトを通知する (_o)" #: ../data/gui/preferences_window.ui.h:83 -#, fuzzy msgid "Notify me about it" -msgstr "相手先のログアウトを通知する (_o)" +msgstr "それについて通知する" #: ../data/gui/preferences_window.ui.h:84 msgid "Notify on new _GMail email" msgstr "新しい GMail メールを通知する (_G)" #: ../data/gui/preferences_window.ui.h:85 -#, fuzzy msgid "Only when pending events" -msgstr "" -"表示しない\n" -"保留イベントがあるときだけ\n" -"常に" +msgstr "保留イベントがあるときだけ" #: ../data/gui/preferences_window.ui.h:86 msgid "Personal Events" @@ -2320,7 +2063,7 @@ msgstr "サウンドを鳴らす (_s)" #: ../data/gui/preferences_window.ui.h:88 msgid "Pop it up" -msgstr "" +msgstr "ポップアップする" #: ../data/gui/preferences_window.ui.h:89 msgid "Preferences" @@ -2331,20 +2074,20 @@ msgid "" "STUN server hostname. If none given, Gajim will try\n" "to discover one from server." msgstr "" +"STUN サーバー。空なら、Gajim はサーバーから探索\n" +"しようとします。" #: ../data/gui/preferences_window.ui.h:92 -#, fuzzy msgid "STUN server:" -msgstr "サーバー:" +msgstr "STUN サーバー:" #: ../data/gui/preferences_window.ui.h:93 msgid "Show notification area icon:" -msgstr "" +msgstr "通知エリアのアイコンの表示:" #: ../data/gui/preferences_window.ui.h:94 -#, fuzzy msgid "Show only in roster" -msgstr "イベントを名簿に表示する (_S)" +msgstr "名簿にのみ表示する" # (Mako)"Ask status message when I:" に続く語 #: ../data/gui/preferences_window.ui.h:95 @@ -2358,7 +2101,7 @@ msgstr "サインアウトしたとき (_o)" #: ../data/gui/preferences_window.ui.h:97 msgid "Single window for everything" -msgstr "" +msgstr "すべてをひとつのウィンドウ" #: ../data/gui/preferences_window.ui.h:98 msgid "" @@ -2372,7 +2115,7 @@ msgstr "" msgid "Sort contacts by status" msgstr "相手先を在席状況順に並べる" -#: ../data/gui/preferences_window.ui.h:100 ../src/config.py:391 +#: ../data/gui/preferences_window.ui.h:100 ../src/config.py:400 msgid "Status" msgstr "在席状況" @@ -2418,7 +2161,7 @@ msgstr "中継先のアイコンを使う (_t)" #: ../data/gui/preferences_window.ui.h:111 msgid "Use default applications" -msgstr "" +msgstr "デフォルトのアプリケーションを使う" #: ../data/gui/preferences_window.ui.h:112 msgid "Use system _default" @@ -2426,34 +2169,31 @@ msgstr "システムのデフォルトを使う (_d)" #: ../data/gui/preferences_window.ui.h:113 msgid "Video framerate" -msgstr "" +msgstr "ビデオのフレームレート" #: ../data/gui/preferences_window.ui.h:114 -#, fuzzy msgid "Video input device" -msgstr "デフォルトのメッセージ" +msgstr "ビデオ入力デバイス" #: ../data/gui/preferences_window.ui.h:115 msgid "Video output device" -msgstr "" +msgstr "ビデオ出力デバイス" #: ../data/gui/preferences_window.ui.h:116 msgid "Video size" -msgstr "" +msgstr "ビデオの大きさ" #: ../data/gui/preferences_window.ui.h:117 msgid "When new event is received:" msgstr "新しいイベントを受信したとき:" #: ../data/gui/preferences_window.ui.h:118 -#, fuzzy msgid "Your message:" -msgstr "エラーメッセージ: %s" +msgstr "あなたのメッセージ:" #: ../data/gui/preferences_window.ui.h:119 -#, fuzzy msgid "Your nickname:" -msgstr "ニックネーム:" +msgstr "あなたのニックネーム:" #: ../data/gui/preferences_window.ui.h:120 msgid "_Away after:" @@ -2512,35 +2252,34 @@ msgid "_Send chat state notifications:" msgstr "チャット状態通知を送信する (_S):" #: ../data/gui/preferences_window.ui.h:134 +msgid "_Show roster on startup:" +msgstr "自動時に名簿を表示する (_S):" + +#: ../data/gui/preferences_window.ui.h:135 msgid "_Status message:" msgstr "状況メッセージ (_S):" # (Mako)あえてカッコ書き -#: ../data/gui/preferences_window.ui.h:135 +#: ../data/gui/preferences_window.ui.h:136 msgid "_URL highlight:" msgstr "URL 強調表示 (_U):" -#: ../data/gui/preferences_window.ui.h:136 +#: ../data/gui/preferences_window.ui.h:137 msgid "_Window behavior:" msgstr "ウィンドウの配置 (_W):" -#: ../data/gui/preferences_window.ui.h:137 +#: ../data/gui/preferences_window.ui.h:138 msgid "in _group chats" msgstr "グループチャットで (_g)" -#: ../data/gui/preferences_window.ui.h:138 -#, fuzzy -msgid "in _roster" -msgstr "名簿にありません" - #: ../data/gui/preferences_window.ui.h:139 +msgid "in _roster" +msgstr "名簿で (_r)" + +#: ../data/gui/preferences_window.ui.h:140 msgid "minutes" msgstr "分後" -#: ../data/gui/privacy_lists_window.ui.h:1 -msgid "Privacy Lists:" -msgstr "個人リスト:" - #: ../data/gui/privacy_list_window.ui.h:1 msgid "Add / Edit a rule" msgstr "規則の追加/編集" @@ -2555,12 +2294,11 @@ msgstr "プライバシーリスト" #: ../data/gui/privacy_list_window.ui.h:4 msgid "Active for this session" -msgstr "" +msgstr "このセッションで有効" #: ../data/gui/privacy_list_window.ui.h:5 -#, fuzzy msgid "Active on each startup" -msgstr "Gajim 起動時に接続する (_o)" +msgstr "起動ごとに有効" #: ../data/gui/privacy_list_window.ui.h:6 msgid "All" @@ -2583,65 +2321,58 @@ msgid "JabberID" msgstr "JabberID" #: ../data/gui/privacy_list_window.ui.h:11 -#, fuzzy msgid "Order:" msgstr "順位:" -#: ../data/gui/privacy_list_window.ui.h:12 ../src/dialogs.py:3802 +#: ../data/gui/privacy_list_window.ui.h:12 ../src/dialogs.py:3966 msgid "Privacy List" msgstr "プライバシーリスト" #: ../data/gui/privacy_list_window.ui.h:13 -#, fuzzy msgid "all by subscription" -msgstr "在席通知のすべて" +msgstr "在席通知の状態が" #: ../data/gui/privacy_list_window.ui.h:14 -#, fuzzy msgid "all in the group" -msgstr "グループのすべて" +msgstr "グループが" #: ../data/gui/privacy_list_window.ui.h:15 -#, fuzzy msgid "both" msgstr "相互に承認" -# #(Mako)helpers.pyは、 -# 相手先の情報で、subscriptionの有無なので、「こちらが承認」としたい +# (Mako)相手先の情報で、subscriptionの有無なので、「こちらが承認」としたい #: ../data/gui/privacy_list_window.ui.h:16 -#, fuzzy msgid "from" msgstr "こちらが承認" #: ../data/gui/privacy_list_window.ui.h:17 -#, fuzzy msgid "none" -msgstr "1" +msgstr "なし" +# (Mako)相手先の情報で、subscriptionの有無なので、「相手先が承認」としたい #: ../data/gui/privacy_list_window.ui.h:18 -#, fuzzy msgid "to" -msgstr "2" +msgstr "相手先が承認" #: ../data/gui/privacy_list_window.ui.h:19 -#, fuzzy msgid "to send me messages" -msgstr "メッセージを私に送信する" +msgstr "メッセージを私に送信すること" #: ../data/gui/privacy_list_window.ui.h:20 -#, fuzzy msgid "to send me queries" -msgstr "クエリーを私に送信する" +msgstr "クエリーを私に送信すること" #: ../data/gui/privacy_list_window.ui.h:21 -#, fuzzy msgid "to send me status" -msgstr "状況を私に送信する" +msgstr "状況を私に送信すること" #: ../data/gui/privacy_list_window.ui.h:22 -#, fuzzy msgid "to view my status" -msgstr "私の状況を見せる" +msgstr "私の状況を見ること" + +#: ../data/gui/privacy_lists_window.ui.h:1 +msgid "Privacy Lists:" +msgstr "プライバシーリスト:" #: ../data/gui/profile_window.ui.h:1 #: ../data/gui/vcard_information_window.ui.h:1 @@ -2668,110 +2399,109 @@ msgid "Company:" msgstr "会社:" #: ../data/gui/profile_window.ui.h:6 -#: ../data/gui/vcard_information_window.ui.h:9 +#: ../data/gui/vcard_information_window.ui.h:10 msgid "Country:" msgstr "国:" #: ../data/gui/profile_window.ui.h:7 -#: ../data/gui/vcard_information_window.ui.h:10 +#: ../data/gui/vcard_information_window.ui.h:11 msgid "Department:" msgstr "部署:" #: ../data/gui/profile_window.ui.h:8 -#: ../data/gui/vcard_information_window.ui.h:11 +#: ../data/gui/vcard_information_window.ui.h:12 msgid "E-Mail:" msgstr "メールアドレス:" #: ../data/gui/profile_window.ui.h:9 -#: ../data/gui/vcard_information_window.ui.h:12 +#: ../data/gui/vcard_information_window.ui.h:13 msgid "Extra Address:" msgstr "建物名など:" #. Family Name #: ../data/gui/profile_window.ui.h:11 -#: ../data/gui/vcard_information_window.ui.h:14 +#: ../data/gui/vcard_information_window.ui.h:15 msgid "Family:" msgstr "姓:" #: ../data/gui/profile_window.ui.h:12 -#: ../data/gui/vcard_information_window.ui.h:15 +#: ../data/gui/vcard_information_window.ui.h:16 msgid "Full Name" msgstr "名前(フルネーム)" #. Given Name #: ../data/gui/profile_window.ui.h:14 -#: ../data/gui/vcard_information_window.ui.h:17 +#: ../data/gui/vcard_information_window.ui.h:18 msgid "Given:" msgstr "名:" #: ../data/gui/profile_window.ui.h:15 -#: ../data/gui/vcard_information_window.ui.h:18 +#: ../data/gui/vcard_information_window.ui.h:19 msgid "Homepage:" msgstr "ホームページ:" #. Middle Name #: ../data/gui/profile_window.ui.h:17 -#: ../data/gui/vcard_information_window.ui.h:21 +#: ../data/gui/vcard_information_window.ui.h:22 msgid "Middle:" msgstr "Middle:" #: ../data/gui/profile_window.ui.h:18 -#: ../data/gui/vcard_information_window.ui.h:22 +#: ../data/gui/vcard_information_window.ui.h:23 msgid "Name:" msgstr "名前:" #: ../data/gui/profile_window.ui.h:19 -#: ../data/gui/vcard_information_window.ui.h:23 +#: ../data/gui/vcard_information_window.ui.h:24 msgid "Nickname:" msgstr "ニックネーム:" #: ../data/gui/profile_window.ui.h:20 -#: ../data/gui/vcard_information_window.ui.h:24 +#: ../data/gui/vcard_information_window.ui.h:25 msgid "Phone No.:" msgstr "電話番号:" #: ../data/gui/profile_window.ui.h:21 -#: ../data/gui/vcard_information_window.ui.h:25 +#: ../data/gui/vcard_information_window.ui.h:26 msgid "Position:" msgstr "役職:" #: ../data/gui/profile_window.ui.h:22 -#: ../data/gui/vcard_information_window.ui.h:26 +#: ../data/gui/vcard_information_window.ui.h:27 msgid "Postal Code:" msgstr "郵便番号:" #. Prefix in Name #: ../data/gui/profile_window.ui.h:24 -#: ../data/gui/vcard_information_window.ui.h:28 +#: ../data/gui/vcard_information_window.ui.h:29 msgid "Prefix:" msgstr "Prefix:" -# (Mako)個人情報では「役」(劇の役のような意味で)、 -# vcard では「職種」が適切と思われる。 +# (Mako)vcard では「職種」が適切 #: ../data/gui/profile_window.ui.h:25 -#: ../data/gui/vcard_information_window.ui.h:30 +#: ../data/gui/vcard_information_window.ui.h:31 msgid "Role:" -msgstr "役/職種:" +msgstr "職種:" #: ../data/gui/profile_window.ui.h:26 -#: ../data/gui/vcard_information_window.ui.h:31 +#: ../data/gui/vcard_information_window.ui.h:32 msgid "State:" msgstr "州(県):" #: ../data/gui/profile_window.ui.h:27 -#: ../data/gui/vcard_information_window.ui.h:33 +#: ../data/gui/vcard_information_window.ui.h:34 msgid "Street:" msgstr "町丁名・番地:" #. Suffix in Name #: ../data/gui/profile_window.ui.h:29 -#: ../data/gui/vcard_information_window.ui.h:37 +#: ../data/gui/vcard_information_window.ui.h:38 msgid "Suffix:" msgstr "Suffix:" #. "About" is the text of a tab of vcard window #: ../data/gui/profile_window.ui.h:31 -#: ../data/gui/vcard_information_window.ui.h:40 +#: ../data/gui/vcard_information_window.ui.h:42 msgid "About" msgstr "概略" @@ -2780,12 +2510,12 @@ msgid "Click to set your avatar" msgstr "アバターの設定" #: ../data/gui/profile_window.ui.h:33 -#: ../data/gui/vcard_information_window.ui.h:45 +#: ../data/gui/vcard_information_window.ui.h:46 msgid "Format: YYYY-MM-DD" msgstr "書式: YYYY-MM-DD" #: ../data/gui/profile_window.ui.h:34 -#: ../data/gui/vcard_information_window.ui.h:47 +#: ../data/gui/vcard_information_window.ui.h:48 msgid "Personal Info" msgstr "個人情報" @@ -2799,7 +2529,6 @@ msgid "What do you want to do?" msgstr "あなたがやりたいことは ?" #: ../data/gui/remove_account_window.ui.h:2 -#, fuzzy msgid "Remove account _only from Gajim" msgstr "アカウントを Gajim からのみ削除 (_o)" @@ -2809,13 +2538,12 @@ msgstr "アカウントを Gajim とサーバーからも削除 (_s)" #. Remove group #. Remove -#: ../data/gui/remove_account_window.ui.h:4 ../src/roster_window.py:5438 -#: ../src/roster_window.py:5564 ../src/roster_window.py:5694 +#: ../data/gui/remove_account_window.ui.h:4 ../src/roster_window.py:5639 +#: ../src/roster_window.py:5764 ../src/roster_window.py:5894 msgid "_Remove" msgstr "削除 (_R)" #: ../data/gui/roster_item_exchange_window.ui.h:1 -#, fuzzy msgid "" "someone@somewhere.com would like you to add some contacts in " "your roster." @@ -2825,10 +2553,9 @@ msgstr "" #: ../data/gui/roster_item_exchange_window.ui.h:2 msgid "Message Body