diff --git a/pamac-daemon.py b/pamac-daemon.py
index e7fe3f84ca3532c43a65743ada48b7237121b653..9bfb0a6b978b3d7b0c56bb1fa54c0c891d6b4f06 100755
--- a/pamac-daemon.py
+++ b/pamac-daemon.py
@@ -7,7 +7,6 @@ from dbus.mainloop.glib import DBusGMainLoop
 from gi.repository import GObject
 
 import pyalpm
-#import traceback
 from multiprocessing import Process
 from pamac import config, common
 
@@ -98,21 +97,25 @@ class PamacDBusService(dbus.service.Object):
 			formatted_event = 'Upgraded {pkgname} ({oldversion} -> {newversion})'.format(pkgname = tupel[1].name, oldversion = tupel[1].version, newversion = tupel[0].version)
 			common.write_log_file(formatted_event)
 			print(formatted_event)
-		elif ID is 15:
+		elif ID is 19:
 			self.action = _('Checking integrity')+'...'
 			self.icon = '/usr/share/pamac/icons/24x24/status/package-search.png'
 			self.already_transferred = 0
-		elif ID is 17:
+		elif ID is 21:
 			self.action = _('Loading packages files')+'...'
 			self.icon = '/usr/share/pamac/icons/24x24/status/package-search.png'
 			print('Loading packages files')
-		elif ID is 26:
+		elif ID is 30:
 			self.action = _('Configuring')+'...'
 			self.icon = '/usr/share/pamac/icons/24x24/status/setup.png'
 			self.EmitPercent(2)
 			print('Configuring a package')
-		elif ID is 27:
+		elif ID is 31:
 			print('Downloading a file')
+		elif ID is 36:
+			self.action = _('Checking keys in keyring')+'...'
+			self.icon = '/usr/share/pamac/icons/24x24/status/package-search.png'
+			print('Checking keys in keyring')
 		else :
 			self.action = ''
 		#self.EmitTarget('')
@@ -213,6 +216,19 @@ class PamacDBusService(dbus.service.Object):
 
 	def CheckUpdates(self):
 		updates = 0
+		_ignorepkgs = []
+		for group in self.handle.ignoregrps:
+			db = self.handle.get_localdb()
+			grp = db.read_grp(group)
+			if grp:
+				name, pkg_list = grp
+				for pkg in pkg_list:
+					if not pkg.name in _ignorepkgs:
+						_ignorepkgs.append(pkg.name)
+		for pkgname in self.handle.ignorepkgs:
+			if pkgname in localpkgs.keys():
+				if not pkgname in _ignorepkgs:
+					_ignorepkgs.append(pkgname)
 		if config.syncfirst:
 			for name in config.syncfirst:
 				pkg = self.handle.get_localdb().get_pkg(name)
@@ -224,7 +240,8 @@ class PamacDBusService(dbus.service.Object):
 			for pkg in self.handle.get_localdb().pkgcache:
 				candidate = pyalpm.sync_newversion(pkg, self.handle.get_syncdbs())
 				if candidate:
-					updates += 1
+					if not candidate.name in _ignorepkgs:
+						updates += 1
 		self.EmitAvailableUpdates(updates)
 
 	@dbus.service.method('org.manjaro.pamac', '', 's', async_callbacks=('success', 'nosuccess'))
@@ -239,7 +256,7 @@ class PamacDBusService(dbus.service.Object):
 					db.update(force=False)
 				except pyalpm.error as e:
 					self.error += ' --> '+str(e)+'\n'
-					#break
+					break
 				finally:
 					try:
 						self.t.release()
@@ -264,9 +281,11 @@ class PamacDBusService(dbus.service.Object):
 				print('Init:',self.t.flags)
 			except pyalpm.error as e:
 				self.error += ' --> '+str(e)+'\n'
-			finally:
-				return self.error 
-		else :
+			finally: 
+				if self.error:
+					self.EmitTransactionError(self.error)
+				return self.error
+		else:
 			return _('Authentication failed')
 
 	@dbus.service.method('org.manjaro.pamac', '', 's')
diff --git a/pamac-install.py b/pamac-install.py
index 550f7c5b57b6245e0affd4c87b5e30cf29fce7cd..bf381f9877e9ab25eaeb7548803f18b5d4817057 100755
--- a/pamac-install.py
+++ b/pamac-install.py
@@ -41,10 +41,10 @@ def install(pkgnames):
 				main.finalize()
 				loop.run()
 	else:
-		transaction.WarningDialog.format_secondary_text('Nothing to do')
-		response = transaction.WarningDialog.run()
+		main.WarningDialog.format_secondary_text('Nothing to do')
+		response = main.WarningDialog.run()
 		if response:
-			transaction.WarningDialog.hide()
+			main.WarningDialog.hide()
 		reply('')
 
 bus = dbus.SystemBus()
@@ -58,16 +58,16 @@ transaction.update_db()
 do_syncfirst, updates = transaction.get_updates()
 
 if common.pid_file_exists():
-	transaction.ErrorDialog.format_secondary_text('Another instance of Pamac is running')
-	response = transaction.ErrorDialog.run()
+	main.ErrorDialog.format_secondary_text('Another instance of Pamac is running')
+	response = main.ErrorDialog.run()
 	if response:
-		transaction.ErrorDialog.hide()
+		main.ErrorDialog.hide()
 	transaction.StopDaemon()
 elif updates:
-		transaction.ErrorDialog.format_secondary_text('Some updates are available.\nPlease update your system first')
-		response = transaction.ErrorDialog.run()
+		main.ErrorDialog.format_secondary_text('Some updates are available.\nPlease update your system first')
+		response = main.ErrorDialog.run()
 		if response:
-			transaction.ErrorDialog.hide()
+			main.ErrorDialog.hide()
 		transaction.StopDaemon()
 else:
 	common.write_pid_file()
diff --git a/pamac.pot b/pamac.pot
index 7935c62516175302f025e41196d741cc89b081b4..601ee688ee939925f5b24b936b3a85ccb53730c9 100644
--- a/pamac.pot
+++ b/pamac.pot
@@ -1,4 +1,4 @@
-## Translation of Pamac.
+# Translation of Pamac.
 # Copyright (C) 2007-2012 Free Software Foundation, Inc.
 # This file is distributed under the same license as the Pamac package.
 # Guillaume Benoit <guillaume@manjaro.org>, 2013.
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pamac\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-03-31 18:55+0200\n"
+"POT-Creation-Date: 2013-04-10 16:13+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,64 +17,68 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: pamac-daemon.py:30 pamac/main.py:594
+#: pamac-daemon.py:29 pamac/main.py:602
 msgid "Preparing"
 msgstr ""
 
-#: pamac-daemon.py:69
+#: pamac-daemon.py:68
 msgid "Checking dependencies"
 msgstr ""
 
-#: pamac-daemon.py:72
+#: pamac-daemon.py:71
 msgid "Checking file conflicts"
 msgstr ""
 
-#: pamac-daemon.py:75
+#: pamac-daemon.py:74
 msgid "Resolving dependencies"
 msgstr ""
 
-#: pamac-daemon.py:78
+#: pamac-daemon.py:77
 msgid "Checking inter conflicts"
 msgstr ""
 
-#: pamac-daemon.py:81 pamac/main.py:73
+#: pamac-daemon.py:80 pamac/main.py:75
 msgid "Installing"
 msgstr ""
 
-#: pamac-daemon.py:88 pamac/main.py:73
+#: pamac-daemon.py:87 pamac/main.py:75
 msgid "Removing"
 msgstr ""
 
-#: pamac-daemon.py:95 pamac/main.py:73
+#: pamac-daemon.py:94 pamac/main.py:75
 msgid "Upgrading"
 msgstr ""
 
-#: pamac-daemon.py:102
+#: pamac-daemon.py:101
 msgid "Checking integrity"
 msgstr ""
 
-#: pamac-daemon.py:106
+#: pamac-daemon.py:105
 msgid "Loading packages files"
 msgstr ""
 
-#: pamac-daemon.py:110 pamac/main.py:73
+#: pamac-daemon.py:109 pamac/main.py:75
 msgid "Configuring"
 msgstr ""
 
-#: pamac-daemon.py:162
+#: pamac-daemon.py:116
+msgid "Checking keys in keyring"
+msgstr ""
+
+#: pamac-daemon.py:165
 msgid "Downloading {size}"
 msgstr ""
 
-#: pamac-daemon.py:167 pamac/main.py:504
+#: pamac-daemon.py:170 pamac/main.py:512
 msgid "Refreshing"
 msgstr ""
 
-#: pamac-daemon.py:270 pamac-daemon.py:378 pamac-daemon.py:386
-#: pamac-daemon.py:408
+#: pamac-daemon.py:289 pamac-daemon.py:397 pamac-daemon.py:405
+#: pamac-daemon.py:427
 msgid "Authentication failed"
 msgstr ""
 
-#: pamac-daemon.py:374
+#: pamac-daemon.py:393
 msgid "Transaction successfully finished"
 msgstr ""
 
@@ -102,173 +106,173 @@ msgstr ""
 msgid "Quit"
 msgstr ""
 
-#: pamac/main.py:110 pamac/main.py:923
+#: pamac/main.py:112 pamac/main.py:947
 msgid "Installed"
 msgstr ""
 
-#: pamac/main.py:110 pamac/main.py:925
+#: pamac/main.py:112 pamac/main.py:949
 msgid "Uninstalled"
 msgstr ""
 
-#: pamac/main.py:110 pamac/main.py:927
+#: pamac/main.py:112 pamac/main.py:951
 msgid "Orphans"
 msgstr ""
 
-#: pamac/main.py:110 pamac/main.py:428 pamac/main.py:929
+#: pamac/main.py:112 pamac/main.py:430 pamac/main.py:953
 msgid "To install"
 msgstr ""
 
-#: pamac/main.py:110 pamac/main.py:408 pamac/main.py:931
+#: pamac/main.py:112 pamac/main.py:410 pamac/main.py:955
 msgid "To remove"
 msgstr ""
 
-#: pamac/main.py:129 pamac/main.py:939
+#: pamac/main.py:131 pamac/main.py:963
 msgid "local"
 msgstr ""
 
-#: pamac/main.py:295
+#: pamac/main.py:297
 msgid "No package found"
 msgstr ""
 
-#: pamac/main.py:346
+#: pamac/main.py:348
 msgid "Licenses"
 msgstr ""
 
-#: pamac/main.py:351
+#: pamac/main.py:353
 msgid "Depends On"
 msgstr ""
 
-#: pamac/main.py:353
+#: pamac/main.py:355
 msgid "Optional Deps"
 msgstr ""
 
-#: pamac/main.py:356
+#: pamac/main.py:358
 msgid "Required By"
 msgstr ""
 
-#: pamac/main.py:358
+#: pamac/main.py:360
 msgid "Provides"
 msgstr ""
 
-#: pamac/main.py:360
+#: pamac/main.py:362
 msgid "Replaces"
 msgstr ""
 
-#: pamac/main.py:362
+#: pamac/main.py:364
 msgid "Conflicts With"
 msgstr ""
 
-#: pamac/main.py:367
+#: pamac/main.py:369
 msgid "Repository"
 msgstr ""
 
-#: pamac/main.py:369 gui/manager.glade:539
+#: pamac/main.py:371 gui/manager.glade:539
 msgid "Groups"
 msgstr ""
 
-#: pamac/main.py:371
+#: pamac/main.py:373
 msgid "Compressed Size"
 msgstr ""
 
-#: pamac/main.py:372
+#: pamac/main.py:374
 msgid "Download Size"
 msgstr ""
 
-#: pamac/main.py:374
+#: pamac/main.py:376
 msgid "Installed Size"
 msgstr ""
 
-#: pamac/main.py:375
+#: pamac/main.py:377
 msgid "Packager"
 msgstr ""
 
-#: pamac/main.py:379
+#: pamac/main.py:381
 msgid "Install Date"
 msgstr ""
 
-#: pamac/main.py:381
+#: pamac/main.py:383
 msgid "Explicitly installed"
 msgstr ""
 
-#: pamac/main.py:383
+#: pamac/main.py:385
 msgid "Installed as a dependency for another package"
 msgstr ""
 
-#: pamac/main.py:385
+#: pamac/main.py:387
 msgid "Unknown"
 msgstr ""
 
-#: pamac/main.py:386
+#: pamac/main.py:388
 msgid "Install Reason"
 msgstr ""
 
-#: pamac/main.py:391
+#: pamac/main.py:393
 msgid "Signatures"
 msgstr ""
 
-#: pamac/main.py:395
+#: pamac/main.py:397
 msgid "Backup files"
 msgstr ""
 
-#: pamac/main.py:405
+#: pamac/main.py:407
 msgid "<big><b>Transaction Summary</b></big>"
 msgstr ""
 
-#: pamac/main.py:419 pamac/main.py:528
+#: pamac/main.py:421 pamac/main.py:536
 msgid "<b>Total download size: </b>"
 msgstr ""
 
-#: pamac/main.py:435
+#: pamac/main.py:437
 msgid "To update"
 msgstr ""
 
-#: pamac/main.py:520 pamac/main.py:1048
+#: pamac/main.py:528 pamac/main.py:1072
 msgid "<big><b>Your system is up-to-date</b></big>"
 msgstr ""
 
-#: pamac/main.py:530
+#: pamac/main.py:538
 msgid "<big><b>1 available update</b></big>"
 msgstr ""
 
-#: pamac/main.py:532
+#: pamac/main.py:540
 msgid "<big><b>{number} available updates</b></big>"
 msgstr ""
 
-#: pamac/main.py:691 pamac/main.py:761
+#: pamac/main.py:699 pamac/main.py:785
 msgid "{pkgname1} will be replaced by {pkgname2}"
 msgstr ""
 
-#: pamac/main.py:708 pamac/main.py:742
+#: pamac/main.py:710 pamac/main.py:729 pamac/main.py:752 pamac/main.py:771
+msgid "{pkgname1} conflicts with {pkgname2}"
+msgstr ""
+
+#: pamac/main.py:724 pamac/main.py:766
 msgid ""
 "{pkgname1} conflicts with {pkgname2} but cannot be removed because it is "
 "needed by {pkgname3}"
 msgstr ""
 
-#: pamac/main.py:713 pamac/main.py:747
-msgid "{pkgname1} conflicts with {pkgname2}"
-msgstr ""
-
-#: pamac/main.py:723
+#: pamac/main.py:739
 msgid ""
 "{pkgname1} conflicts with {pkgname2}\n"
 "None of them will be installed"
 msgstr ""
 
-#: pamac/main.py:782
+#: pamac/main.py:806
 msgid ""
 "<b>{pkgname} is provided by {number} packages.\n"
 "Please choose the one(s) you want to install:</b>"
 msgstr ""
 
-#: pamac/main.py:808
+#: pamac/main.py:832
 msgid "No package is selected"
 msgstr ""
 
-#: pamac/main.py:849
+#: pamac/main.py:873
 msgid "Nothing to do"
 msgstr ""
 
-#: pamac/main.py:1032
+#: pamac/main.py:1056
 msgid "Pamac is already running"
 msgstr ""
 
diff --git a/pamac/main.py b/pamac/main.py
index 639e678889ac2d8aaf78d70a3c314a4ad81e2dfe..12a0e00206e13c8f47ebf91f46d1cac195834a37 100644
--- a/pamac/main.py
+++ b/pamac/main.py
@@ -21,10 +21,10 @@ _ = gettext.gettext
 interface = Gtk.Builder()
 interface.set_translation_domain('pamac')
 
-#interface.add_from_file('/usr/share/pamac/gui/dialogs.glade')
-#ErrorDialog = interface.get_object('ErrorDialog')
-#WarningDialog = interface.get_object('WarningDialog')
-#InfoDialog = interface.get_object('InfoDialog')
+interface.add_from_file('/usr/share/pamac/gui/dialogs.glade')
+ErrorDialog = interface.get_object('ErrorDialog')
+WarningDialog = interface.get_object('WarningDialog')
+InfoDialog = interface.get_object('InfoDialog')
 #QuestionDialog = interface.get_object('QuestionDialog')
 
 interface.add_from_file('/usr/share/pamac/gui/manager.glade')
@@ -177,7 +177,7 @@ def set_list_dict_group(group):
 					pkg_name_list.append(pkg_object.name)
 				pkg_object_dict[pkg_object.name] = pkg_object
 				pkg_installed_dict[pkg_object.name] = False
-	db = config.pacman_conf.initialize_alpm().get_localdb()
+	db = transaction.handle.get_localdb()
 	grp = db.read_grp(group)
 	if grp is not None:
 		name, pkg_list = grp
@@ -449,20 +449,26 @@ def handle_error(error):
 	if error:
 		if not 'DBus.Error.NoReply' in str(error):
 			print('error:', error)
-			transaction.ErrorDialog.format_secondary_text(error)
-			response = transaction.ErrorDialog.run()
+			ErrorDialog.format_secondary_text(error)
+			response = ErrorDialog.run()
 			if response:
-				transaction.ErrorDialog.hide()
+				ErrorDialog.hide()
 	transaction.t_lock = False
-	transaction.Release()
+	try:
+		transaction.Release()
+	except:
+		pass
 	if mode == 'manager':
 		transaction.to_add = []
 		transaction.to_remove = []
 		transaction_dict.clear()
-		transaction_type = None
 		transaction.get_handle()
 		transaction.update_db()
-		set_packages_list()
+		if (transaction_type == "install") or (transaction_type == "remove"):
+			transaction_type = None
+			set_packages_list()
+		else:
+			transaction_type = None
 	if mode == 'updater':
 		have_updates()
 
@@ -473,10 +479,10 @@ def handle_reply(reply):
 	#while Gtk.events_pending():
 	#	Gtk.main_iteration()
 	if reply:
-		transaction.InfoDialog.format_secondary_text(reply)
-		response = transaction.InfoDialog.run()
+		InfoDialog.format_secondary_text(reply)
+		response = InfoDialog.run()
 		if response:
-			transaction.InfoDialog.hide()
+			InfoDialog.hide()
 	transaction.t_lock = False
 	try:
 		transaction.Release()
@@ -510,7 +516,7 @@ def do_refresh():
 		ProgressWindow.show_all()
 		while Gtk.events_pending():
 			Gtk.main_iteration()
-		transaction.Refresh()#reply_handler = handle_reply, error_handler = handle_error, timeout = 2000*1000)
+		transaction.Refresh()
 
 def have_updates():
 	do_syncfirst, updates = transaction.get_updates()
@@ -601,7 +607,7 @@ def finalize():
 		while Gtk.events_pending():
 			Gtk.main_iteration()
 		try:
-			transaction.Commit()#reply_handler = handle_reply, error_handler = handle_error, timeout = 2000*1000)
+			transaction.Commit()
 		except dbus.exceptions.DBusException as e:
 			handle_error(str(e))
 
@@ -781,10 +787,10 @@ def check_conflicts(mode, pkg_list):
 										transaction.to_add.append(pkg.name)
 	print('check result:', 'to add:', transaction.to_add, 'to remove:', transaction.to_remove)
 	if warning:
-		transaction.WarningDialog.format_secondary_text(warning)
-		response = transaction.WarningDialog.run()
+		WarningDialog.format_secondary_text(warning)
+		response = WarningDialog.run()
 		if response:
-			transaction.WarningDialog.hide()
+			WarningDialog.hide()
 	if error:
 			handle_error(error)
 
@@ -823,10 +829,10 @@ class Handler:
 
 	def on_Manager_ValidButton_clicked(self, *arg):
 		if not transaction_dict:
-			transaction.ErrorDialog.format_secondary_text(_('No package is selected'))
-			response = 	transaction.ErrorDialog.run()
+			ErrorDialog.format_secondary_text(_('No package is selected'))
+			response = ErrorDialog.run()
 			if response:
-				transaction.ErrorDialog.hide()
+				ErrorDialog.hide()
 		else:
 			if transaction.t_lock is True:
 				print('Transaction locked')
@@ -864,10 +870,10 @@ class Handler:
 								set_transaction_sum()
 								ConfDialog.show_all()
 					else:
-						transaction.WarningDialog.format_secondary_text(_('Nothing to do'))
-						response = transaction.WarningDialog.run()
+						WarningDialog.format_secondary_text(_('Nothing to do'))
+						response = WarningDialog.run()
 						if response:
-							transaction.WarningDialog.hide()
+							WarningDialog.hide()
 						transaction.t_lock = False
 
 	def on_Manager_EraseButton_clicked(self, *arg):
@@ -1047,10 +1053,10 @@ class Handler:
 
 def main(_mode):
 	if common.pid_file_exists():
-		transaction.ErrorDialog.format_secondary_text(_('Pamac is already running'))
-		response = transaction.ErrorDialog.run()
+		ErrorDialog.format_secondary_text(_('Pamac is already running'))
+		response = ErrorDialog.run()
 		if response:
-			transaction.ErrorDialog.hide()
+			ErrorDialog.hide()
 	else:
 		common.write_pid_file()
 		global mode
diff --git a/pamac/transaction.py b/pamac/transaction.py
index 23543c330442216e610f5efc5daff8b7871a0920..5da7381ba56ce5a08479f2d6e230c6916cc966ed 100644
--- a/pamac/transaction.py
+++ b/pamac/transaction.py
@@ -1,8 +1,6 @@
 #! /usr/bin/python3
 # -*- coding:utf-8 -*-
 
-from gi.repository import Gtk
-
 import pyalpm
 from collections import OrderedDict
 import dbus
@@ -19,14 +17,6 @@ handle = None
 syncpkgs = OrderedDict()
 localpkgs = OrderedDict()
 
-interface = Gtk.Builder()
-
-interface.add_from_file('/usr/share/pamac/gui/dialogs.glade')
-ErrorDialog = interface.get_object('ErrorDialog')
-WarningDialog = interface.get_object('WarningDialog')
-#QuestionDialog = interface.get_object('QuestionDialog')
-InfoDialog = interface.get_object('InfoDialog')
-
 def get_handle():
 	global handle
 	handle = config.handle()
@@ -69,10 +59,6 @@ def init_transaction(**options):
 		t_lock = True
 		return True
 	else:
-		ErrorDialog.format_secondary_text('Init Error:\n'+str(error))
-		response = ErrorDialog.run()
-		if response:
-			ErrorDialog.hide()
 		return False
 
 def get_to_remove():
@@ -87,7 +73,20 @@ def get_updates():
 	"""Return a list of package objects in local db which can be updated"""
 	do_syncfirst = False
 	list_first = []
-	#update_db()
+	_ignorepkgs = []
+	update_db()
+	for group in handle.ignoregrps:
+		db = handle.get_localdb()
+		grp = db.read_grp(group)
+		if grp:
+			name, pkg_list = grp
+			for pkg in pkg_list:
+				if not pkg.name in _ignorepkgs:
+					_ignorepkgs.append(pkg.name)
+	for pkgname in handle.ignorepkgs:
+		if pkgname in localpkgs.keys():
+			if not pkgname in _ignorepkgs:
+				_ignorepkgs.append(pkgname)
 	if config.syncfirst:
 		for name in config.syncfirst:
 			if name in localpkgs.keys():
@@ -101,5 +100,6 @@ def get_updates():
 	for pkg in localpkgs.values():
 		candidate = pyalpm.sync_newversion(pkg, handle.get_syncdbs())
 		if candidate:
-			result.append(candidate)
+			if not candidate.name in _ignorepkgs:
+				result.append(candidate)
 	return do_syncfirst, result
diff --git a/po/fr.po b/po/fr.po
index a465de83d9095db3ad1ef87e7c3ccff534bc7c16..927999b29e667913606942ad7f016fe837c99700 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pamac\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-03-31 18:55+0200\n"
+"POT-Creation-Date: 2013-04-10 16:13+0200\n"
 "PO-Revision-Date: 2013-03-30 15:18+0100\n"
 "Last-Translator: <elvirolo@gmail.com>\n"
 "Language-Team: French\n"
@@ -17,64 +17,70 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
-#: pamac-daemon.py:30 pamac/main.py:594
+#: pamac-daemon.py:29 pamac/main.py:602
 msgid "Preparing"
 msgstr "Préparation"
 
-#: pamac-daemon.py:69
+#: pamac-daemon.py:68
 msgid "Checking dependencies"
 msgstr "Vérification des dépendances"
 
-#: pamac-daemon.py:72
+#: pamac-daemon.py:71
 msgid "Checking file conflicts"
 msgstr "Analyse des conflits entre fichiers"
 
-#: pamac-daemon.py:75
+#: pamac-daemon.py:74
 msgid "Resolving dependencies"
 msgstr "Résolution des dépendances"
 
-#: pamac-daemon.py:78
+#: pamac-daemon.py:77
 msgid "Checking inter conflicts"
 msgstr "Recherche des conflits entre paquets"
 
-#: pamac-daemon.py:81 pamac/main.py:73
+#: pamac-daemon.py:80 pamac/main.py:75
 msgid "Installing"
 msgstr "Installation"
 
-#: pamac-daemon.py:88 pamac/main.py:73
+#: pamac-daemon.py:87 pamac/main.py:75
 msgid "Removing"
 msgstr "Désinstallation"
 
-#: pamac-daemon.py:95 pamac/main.py:73
+#: pamac-daemon.py:94 pamac/main.py:75
 msgid "Upgrading"
 msgstr "Mise à jour"
 
-#: pamac-daemon.py:102
+#: pamac-daemon.py:101
 msgid "Checking integrity"
 msgstr "Vérification de l'intégrité des paquets"
 
-#: pamac-daemon.py:106
+#: pamac-daemon.py:105
+#, fuzzy
 msgid "Loading packages files"
 msgstr "Chargement des fichiers des paquets"
 
-#: pamac-daemon.py:110 pamac/main.py:73
+#: pamac-daemon.py:109 pamac/main.py:75
 msgid "Configuring"
 msgstr "Configuration"
 
-#: pamac-daemon.py:162
+#: pamac-daemon.py:116
+#, fuzzy
+msgid "Checking keys in keyring"
+msgstr "Vérification des clés dans le trousseau"
+
+#: pamac-daemon.py:165
 msgid "Downloading {size}"
 msgstr "Téléchargement de {size}"
 
-#: pamac-daemon.py:167 pamac/main.py:504
+#: pamac-daemon.py:170 pamac/main.py:512
 msgid "Refreshing"
 msgstr "Actualisation"
 
-#: pamac-daemon.py:270 pamac-daemon.py:378 pamac-daemon.py:386
-#: pamac-daemon.py:408
+#: pamac-daemon.py:289 pamac-daemon.py:397 pamac-daemon.py:405
+#: pamac-daemon.py:427
 msgid "Authentication failed"
 msgstr "L'authentification a échoué"
 
-#: pamac-daemon.py:374
+#: pamac-daemon.py:393
 msgid "Transaction successfully finished"
 msgstr "Transaction terminée avec succès"
 
@@ -102,143 +108,147 @@ msgstr "Exécuter pamac-manager"
 msgid "Quit"
 msgstr "Quitter"
 
-#: pamac/main.py:110 pamac/main.py:923
+#: pamac/main.py:112 pamac/main.py:947
 msgid "Installed"
 msgstr "Installé"
 
-#: pamac/main.py:110 pamac/main.py:925
+#: pamac/main.py:112 pamac/main.py:949
 msgid "Uninstalled"
 msgstr "Non installé"
 
-#: pamac/main.py:110 pamac/main.py:927
+#: pamac/main.py:112 pamac/main.py:951
 msgid "Orphans"
 msgstr "Orphelins"
 
-#: pamac/main.py:110 pamac/main.py:428 pamac/main.py:929
+#: pamac/main.py:112 pamac/main.py:430 pamac/main.py:953
 msgid "To install"
 msgstr "À installer"
 
-#: pamac/main.py:110 pamac/main.py:408 pamac/main.py:931
+#: pamac/main.py:112 pamac/main.py:410 pamac/main.py:955
 msgid "To remove"
 msgstr "À désinstaller"
 
-#: pamac/main.py:129 pamac/main.py:939
+#: pamac/main.py:131 pamac/main.py:963
 msgid "local"
 msgstr "locaux"
 
-#: pamac/main.py:295
+#: pamac/main.py:297
 msgid "No package found"
 msgstr "Aucun paquet trouvé"
 
-#: pamac/main.py:346
+#: pamac/main.py:348
 msgid "Licenses"
 msgstr "Licences"
 
-#: pamac/main.py:351
+#: pamac/main.py:353
 msgid "Depends On"
 msgstr "Dépend de"
 
-#: pamac/main.py:353
+#: pamac/main.py:355
 msgid "Optional Deps"
 msgstr "Dépendances opt."
 
-#: pamac/main.py:356
+#: pamac/main.py:358
 msgid "Required By"
 msgstr "Requis par"
 
-#: pamac/main.py:358
+#: pamac/main.py:360
 msgid "Provides"
 msgstr "Fournit"
 
-#: pamac/main.py:360
+#: pamac/main.py:362
 msgid "Replaces"
 msgstr "Remplace"
 
-#: pamac/main.py:362
+#: pamac/main.py:364
 msgid "Conflicts With"
 msgstr "Est conflit avec"
 
-#: pamac/main.py:367
+#: pamac/main.py:369
 msgid "Repository"
 msgstr "Dépôt"
 
-#: pamac/main.py:369 gui/manager.glade:539
+#: pamac/main.py:371 gui/manager.glade:539
 msgid "Groups"
 msgstr "Groupes"
 
-#: pamac/main.py:371
+#: pamac/main.py:373
 msgid "Compressed Size"
 msgstr "Taille compressée"
 
-#: pamac/main.py:372
+#: pamac/main.py:374
 msgid "Download Size"
 msgstr "Taille du téléchargement"
 
-#: pamac/main.py:374
+#: pamac/main.py:376
 msgid "Installed Size"
 msgstr "Taille après installation"
 
-#: pamac/main.py:375
+#: pamac/main.py:377
 msgid "Packager"
 msgstr "Paqueteur"
 
-#: pamac/main.py:379
+#: pamac/main.py:381
 msgid "Install Date"
 msgstr "Installé le"
 
-#: pamac/main.py:381
+#: pamac/main.py:383
 msgid "Explicitly installed"
 msgstr "Explicitement installé"
 
-#: pamac/main.py:383
+#: pamac/main.py:385
 msgid "Installed as a dependency for another package"
 msgstr "Installé comme dépendance d'un autre paquet"
 
-#: pamac/main.py:385
+#: pamac/main.py:387
 msgid "Unknown"
 msgstr "Inconnu"
 
-#: pamac/main.py:386
+#: pamac/main.py:388
 msgid "Install Reason"
 msgstr "Motif d'installation"
 
-#: pamac/main.py:391
+#: pamac/main.py:393
 msgid "Signatures"
 msgstr "Signatures"
 
-#: pamac/main.py:395
+#: pamac/main.py:397
 msgid "Backup files"
 msgstr "Fichiers sauvegardés"
 
-#: pamac/main.py:405
+#: pamac/main.py:407
 msgid "<big><b>Transaction Summary</b></big>"
 msgstr "<big><b>Résumé de la transaction</b></big>"
 
-#: pamac/main.py:419 pamac/main.py:528
+#: pamac/main.py:421 pamac/main.py:536
 msgid "<b>Total download size: </b>"
 msgstr "<b>Taille totale du téléchargement: </b>"
 
-#: pamac/main.py:435
+#: pamac/main.py:437
 msgid "To update"
 msgstr "À mettre à jour"
 
-#: pamac/main.py:520 pamac/main.py:1048
+#: pamac/main.py:528 pamac/main.py:1072
 msgid "<big><b>Your system is up-to-date</b></big>"
 msgstr "<big><b>Votre système est à jour</b></big>"
 
-#: pamac/main.py:530
+#: pamac/main.py:538
 msgid "<big><b>1 available update</b></big>"
 msgstr "<big><b>1 mise à jour disponible</b></big>"
 
-#: pamac/main.py:532
+#: pamac/main.py:540
 msgid "<big><b>{number} available updates</b></big>"
 msgstr "<big><b>{number} mises à jour disponibles</b></big>"
 
-#: pamac/main.py:691 pamac/main.py:761
+#: pamac/main.py:699 pamac/main.py:785
 msgid "{pkgname1} will be replaced by {pkgname2}"
 msgstr "{pkgname1} sera remplacé par {pkgname2}"
 
-#: pamac/main.py:708 pamac/main.py:742
+#: pamac/main.py:710 pamac/main.py:729 pamac/main.py:752 pamac/main.py:771
+msgid "{pkgname1} conflicts with {pkgname2}"
+msgstr "{pkgname1} est en conflit avec {pkgname2}"
+
+#: pamac/main.py:724 pamac/main.py:766
 msgid ""
 "{pkgname1} conflicts with {pkgname2} but cannot be removed because it is "
 "needed by {pkgname3}"
@@ -246,11 +256,7 @@ msgstr ""
 "{pkgname1} est en conflit avec {pkgname2} mais ne peut pas être désinstallé "
 "car il est requis par {pkgname3}"
 
-#: pamac/main.py:713 pamac/main.py:747
-msgid "{pkgname1} conflicts with {pkgname2}"
-msgstr "{pkgname1} est en conflit avec {pkgname2}"
-
-#: pamac/main.py:723
+#: pamac/main.py:739
 msgid ""
 "{pkgname1} conflicts with {pkgname2}\n"
 "None of them will be installed"
@@ -258,7 +264,7 @@ msgstr ""
 "{pkgname1} est en conflit avec {pkgname2}\n"
 "Aucun d'entre eux ne sera installé"
 
-#: pamac/main.py:782
+#: pamac/main.py:806
 msgid ""
 "<b>{pkgname} is provided by {number} packages.\n"
 "Please choose the one(s) you want to install:</b>"
@@ -266,15 +272,15 @@ msgstr ""
 "<b>{pkgname} est fourni par {number} paquets.\n"
 "Veuillez choisir celui ou ceux que vous voulez installer:</b>"
 
-#: pamac/main.py:808
+#: pamac/main.py:832
 msgid "No package is selected"
 msgstr "Aucun paquet n'est sélectionné"
 
-#: pamac/main.py:849
+#: pamac/main.py:873
 msgid "Nothing to do"
 msgstr "Rien à faire"
 
-#: pamac/main.py:1032
+#: pamac/main.py:1056
 msgid "Pamac is already running"
 msgstr "Pamac est déjà en cours d'exécution"